package demo.oath ; import org.jdom.* ; /** * <p>Title: </p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2006</p> * * <p>Company: </p> * * @author not attributable * @version 1.0 */ public class AccountHelper { public final static String XML_ACCOUNT_ROOT = "DB" ; public final static String XML_ACCOUNT_ACCOUNT = "Account" ; public final static String XML_ACCOUNT_NAME = "name" ; public final static String XML_ACCOUNT_INDEX = "index" ; public final static String XML_ACCOUNT_PASSWORD = "passwd" ; public final static String XML_ACCOUNT_COUNTER = "counter" ; public final static String XML_ACCOUNT_LOCKED = "locked" ; public final static String XML_ACCOUNT_COST = "cost"; public final static String XML_TTY_COUNTER = "tryCounter"; public static void main(String[] args) { Element e=new Element("Account"); System.out.println(AccountHelper.Element2Account(e)); } /** * parst element to Account * @param e * @return */ public static Account Element2Account ( Element e ) { System.out.println("AccountHelper.XML_TTY_COUNTER="+AccountHelper.XML_TTY_COUNTER); String index = e.getChildText ( AccountHelper.XML_ACCOUNT_INDEX ) ; String userName = e.getChildText ( AccountHelper.XML_ACCOUNT_NAME ) ; String passwd = e.getChildText ( AccountHelper.XML_ACCOUNT_PASSWORD ) ; String cost = e.getChildText(AccountHelper.XML_ACCOUNT_COST); String tryCounter = e.getChildText(AccountHelper.XML_TTY_COUNTER); System.out.println("tryCounter="+tryCounter); System.out.println("-------------------------------------cost-------------------------"); System.out.println(cost); System.out.println("--------------------------------------end"); String counter = e.getChildText ( AccountHelper.XML_ACCOUNT_COUNTER ) ; int counterI=0; if(counter!=null){ counterI = java.lang.Integer.parseInt ( counter.trim () ) ; } String locked = e.getChildText ( AccountHelper.XML_ACCOUNT_LOCKED ) ; boolean lockedB = false; if(locked!=null){ lockedB = locked.equalsIgnoreCase ( "true" ) ; } Account ac = new Account ( index,userName, passwd, cost,counterI, lockedB,Integer.parseInt(tryCounter) ) ; return ac ; } /** * change Account int element * @param a * @return */ public static Element Account2Element ( Account a ) { Element e = new Element ( XML_ACCOUNT_ACCOUNT ) ; Element name = new Element ( XML_ACCOUNT_NAME ) ; name.addContent ( a.getName () ) ; e.addContent ( name ) ; Element pwd = new Element ( XML_ACCOUNT_PASSWORD ) ; pwd.addContent ( a.getPasswd () ) ; e.addContent ( pwd ) ; Element cost = new Element(XML_ACCOUNT_COST); cost.addContent(a.getCost()+""); e.addContent(cost); Element counter = new Element ( XML_ACCOUNT_COUNTER ) ; counter.addContent ( String.valueOf ( Account.getCounter () ) ) ; e.addContent ( counter ) ; Element tryCounter = new Element ( XML_TTY_COUNTER ) ; tryCounter.addContent (String.valueOf ( Account.getTryCounter () ) ) ; e.addContent ( tryCounter ) ; Element locked = new Element ( XML_ACCOUNT_LOCKED ) ; locked.addContent ( Account.getIsLocked () ? "true" : "false" ) ; e.addContent ( locked ) ; return e ; } public static byte[] hex2Bytes ( String hex ) { if ( ( hex.length () % 2 ) > 0 ) { hex = "0" + hex ; } byte[] tmp = new byte[hex.length () /2] ; for ( int i = 0 ; i < hex.length () ; i = i + 2 ) { byte a = ( byte ) ( java.lang.Integer.parseInt ( hex.substring ( i, i + 2 ), 16 ) & 0xff ) ; tmp[ i / 2 ] = a ; } return tmp ; } // 将iSource转为长度为iArrayLen的byte数组,字节数组的低位是整型的低字节位 public static byte[] toByteArray(int iSource, int iArrayLen) { byte[] bLocalArr = new byte[iArrayLen]; for ( int i = 0; (i < 4) && (i < iArrayLen); i++) { bLocalArr[i] = (byte)( iSource>>8*i & 0xFF ); } return bLocalArr; } }