<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-2482159392595548869</atom:id><lastBuildDate>Thu, 07 Jan 2010 23:38:30 +0000</lastBuildDate><title>William Dutton's Blog</title><description>Rantings of William Dutton, Analyst Programmer</description><link>http://william-d.blogspot.com/</link><managingEditor>noreply@blogger.com (W!ll!iam)</managingEditor><generator>Blogger</generator><openSearch:totalResults>62</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-4376666062060621558</guid><pubDate>Thu, 10 Dec 2009 02:58:00 +0000</pubDate><atom:updated>2009-12-10T12:59:28.797+10:00</atom:updated><title>WLST JMS.properties file example</title><description>&lt;pre name="code" class="properties"&gt;&lt;br /&gt;jmsPath = /JMSSystemResources/&lt;br /&gt;jmsServerPath = /JMSServers/&lt;br /&gt;jmsResourcePath= /JMSResource/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;jmsServers = JMSServer1, JMSServer2, JMSServer3&lt;br /&gt;############################################&lt;br /&gt;JMSServer1Name = JMSServer1&lt;br /&gt;JMSServer1SubDep = BEA_JMS_MODULE_SUBDEPLOYMENT_JMSServer1&lt;br /&gt;JMSServer1SysRes = JMSModule1&lt;br /&gt;JMSServer1SysResTarget=${ServerName}&lt;br /&gt;JMSServer1PersStore =&lt;br /&gt;JMSServer1Queues = au.com.queu1, au.com.queu2&lt;br /&gt;JMSServer1NonPers = au.com.queu2&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-4376666062060621558?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2009/12/wlst-jmsproperties-file-example.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-3497939816939312794</guid><pubDate>Thu, 10 Dec 2009 02:53:00 +0000</pubDate><atom:updated>2009-12-10T12:56:43.636+10:00</atom:updated><title>WSLT weblogic JMS creation script</title><description>here is a script i use at work to create JMS servers modules and queues.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="python"&gt;&lt;br /&gt;#-------#&lt;br /&gt;# JMSQueueScript.py&lt;br /&gt;# Requires argument - either install, update or clean&lt;br /&gt;#Requires properties folder to be in same directory as script&lt;br /&gt;#Creates Queues, JMS servers, subdeployments, system modules and sets attributes&lt;br /&gt;#-------#&lt;br /&gt;import sys&lt;br /&gt;import re&lt;br /&gt;&lt;br /&gt;global jmsProp&lt;br /&gt;global envProp&lt;br /&gt;&lt;br /&gt;#Determine runMode- Install, Update or Clean&lt;br /&gt;try:&lt;br /&gt;    runMode = sys.argv[1]&lt;br /&gt;&lt;br /&gt;    def connectToAdminServer():&lt;br /&gt;      global startedNewServer&lt;br /&gt;      loadProperties(envProp)&lt;br /&gt;      hideDisplay()&lt;br /&gt;      hideDumpStack(&amp;quot;true&amp;quot;)&lt;br /&gt;      # try connecting to a running server if it is already running ...&lt;br /&gt;      if connected==&amp;quot;false&amp;quot;:&lt;br /&gt;        try:&lt;br /&gt;          URL=&amp;quot;t3://&amp;quot;+adminServerListenAddress+&amp;quot;:&amp;quot;+adminServerListenPort&lt;br /&gt;          print URL&lt;br /&gt;          connect(userName, passWord, URL)&lt;br /&gt;        except WLSTException:&lt;br /&gt;          print 'No server is running at '+URL&lt;br /&gt;      hideDumpStack(&amp;quot;false&amp;quot;)&lt;br /&gt;      if connected==&amp;quot;false&amp;quot;:&lt;br /&gt;        print 'No connection established'&lt;br /&gt;&lt;br /&gt;    def startTransaction():&lt;br /&gt;      edit()&lt;br /&gt;      startEdit()&lt;br /&gt;&lt;br /&gt;    def endTransaction():&lt;br /&gt;      #startEdit()&lt;br /&gt;      save()&lt;br /&gt;      activate(block=&amp;quot;true&amp;quot;)&lt;br /&gt;&lt;br /&gt;    #----&lt;br /&gt;    #                   CREATE METHODS                                  -&lt;br /&gt;    #----&lt;br /&gt;&lt;br /&gt;    def create_Queue(path, beanName):&lt;br /&gt;&lt;br /&gt;      cd(path)&lt;br /&gt;      try:&lt;br /&gt;        #print &amp;quot;creating Queue: &amp;quot;+beanName&lt;br /&gt;        theBean = cmo.lookupQueue(beanName)&lt;br /&gt;        if theBean == None:&lt;br /&gt;          cmo.createQueue(beanName)&lt;br /&gt;      except java.lang.UnsupportedOperationException, usoe:&lt;br /&gt;        pass&lt;br /&gt;      except weblogic.descriptor.BeanAlreadyExistsException,bae:&lt;br /&gt;        pass&lt;br /&gt;      except java.lang.reflect.UndeclaredThrowableException,udt:&lt;br /&gt;        pass&lt;br /&gt;&lt;br /&gt;    def create_JMSServer(path, beanName):&lt;br /&gt;      cd(path)&lt;br /&gt;      try:&lt;br /&gt;        #print &amp;quot;creating mbean of type JMSServer ... &amp;quot;&lt;br /&gt;        theBean = cmo.lookupJMSServer(beanName)&lt;br /&gt;        if theBean == None:&lt;br /&gt;          cmo.createJMSServer(beanName)&lt;br /&gt;      except java.lang.UnsupportedOperationException, usoe:&lt;br /&gt;        pass&lt;br /&gt;      except weblogic.descriptor.BeanAlreadyExistsException,bae:&lt;br /&gt;        pass&lt;br /&gt;      except java.lang.reflect.UndeclaredThrowableException,udt:&lt;br /&gt;        pass&lt;br /&gt;&lt;br /&gt;    def create_JMSSystemResource(path, beanName):&lt;br /&gt;      cd(path)&lt;br /&gt;      try:&lt;br /&gt;        #print &amp;quot;creating mbean of type JMSSystemResource ... &amp;quot;&lt;br /&gt;        theBean = cmo.lookupJMSSystemResource(beanName)&lt;br /&gt;        if theBean == None:&lt;br /&gt;          cmo.createJMSSystemResource(beanName)&lt;br /&gt;      except java.lang.UnsupportedOperationException, usoe:&lt;br /&gt;        pass&lt;br /&gt;      except weblogic.descriptor.BeanAlreadyExistsException,bae:&lt;br /&gt;        pass&lt;br /&gt;      except java.lang.reflect.UndeclaredThrowableException,udt:&lt;br /&gt;        pass&lt;br /&gt;&lt;br /&gt;    def create_SubDeployment(path, beanName):&lt;br /&gt;      cd(path)&lt;br /&gt;      try:&lt;br /&gt;        #print &amp;quot;creating mbean of type SubDeployment ... &amp;quot;&lt;br /&gt;        theBean = cmo.lookupSubDeployment(beanName)&lt;br /&gt;        if theBean == None:&lt;br /&gt;          cmo.createSubDeployment(beanName)&lt;br /&gt;      except java.lang.UnsupportedOperationException, usoe:&lt;br /&gt;        pass&lt;br /&gt;      except weblogic.descriptor.BeanAlreadyExistsException,bae:&lt;br /&gt;        pass&lt;br /&gt;      except java.lang.reflect.UndeclaredThrowableException,udt:&lt;br /&gt;        pass&lt;br /&gt;    #&lt;br /&gt;    #----&lt;br /&gt;    #                   SET ATTRIBUTE METHODS                           -&lt;br /&gt;    #----&lt;br /&gt;    #&lt;br /&gt;    def setAttributesForQueue(path, subdeployment, jndiname, queuename):&lt;br /&gt;      cd(path)&lt;br /&gt;      print &amp;quot;setting attributes for Queue: &amp;quot;+queuename&lt;br /&gt;      set(&amp;quot;SubDeploymentName&amp;quot;, subdeployment)&lt;br /&gt;      set(&amp;quot;JNDIName&amp;quot;, jndiname)&lt;br /&gt;      set(&amp;quot;Name&amp;quot;, queuename)&lt;br /&gt;&lt;br /&gt;    def setAttributes_DeliveryParamsOverrides(paramList, modulePath):&lt;br /&gt;&lt;br /&gt;      for param in paramList:&lt;br /&gt;          path = modulePath+&amp;quot;/Queues/&amp;quot;+param+&amp;quot;/DeliveryParamsOverrides/&amp;quot;+param&lt;br /&gt;          cd(path)&lt;br /&gt;          print &amp;quot;setting DeliveryParamsOverrides to Non-Persistent:&amp;quot; +param&lt;br /&gt;          set(&amp;quot;DeliveryMode&amp;quot;, &amp;quot;Non-Persistent&amp;quot;)&lt;br /&gt;&lt;br /&gt;    def setAttributesFor_c2JMSServer(path, server, persistenceStore):&lt;br /&gt;      cd(path)&lt;br /&gt;      print &amp;quot;setting attributes for mbean type JMSServer&amp;quot;&lt;br /&gt;      refBean0 = getMBean(server)&lt;br /&gt;      theValue = jarray.array([refBean0], Class.forName(&amp;quot;weblogic.management.configuration.TargetMBean&amp;quot;))&lt;br /&gt;      cmo.setTargets(theValue)&lt;br /&gt;      #Set the persistence store if one is passed as a parameter&lt;br /&gt;      if (persistenceStore != None):&lt;br /&gt;        print &amp;quot;mbean is not equal to none&amp;quot;&lt;br /&gt;        print persistenceStore&lt;br /&gt;        bean = getMBean(persistenceStore)&lt;br /&gt;        print bean&lt;br /&gt;        cmo.setPersistentStore(bean)&lt;br /&gt;&lt;br /&gt;    def setAttributesFor_SubDeployment(path, server):&lt;br /&gt;      cd(path)&lt;br /&gt;      #print &amp;quot;setting attributes for mbean type SubDeployment&amp;quot;&lt;br /&gt;      refBean0 = getMBean(server)&lt;br /&gt;      theValue = jarray.array([refBean0], Class.forName(&amp;quot;weblogic.management.configuration.TargetMBean&amp;quot;))&lt;br /&gt;      cmo.setTargets(theValue)&lt;br /&gt;&lt;br /&gt;    def setAttributesFor_JMSSystemResource(path, server):&lt;br /&gt;      cd(path)&lt;br /&gt;      #print &amp;quot;setting attributes for mbean type JMSSystemResource&amp;quot;&lt;br /&gt;      refBean0 = getMBean(server)&lt;br /&gt;      theValue = jarray.array([refBean0], Class.forName(&amp;quot;weblogic.management.configuration.TargetMBean&amp;quot;))&lt;br /&gt;      cmo.setTargets(theValue)&lt;br /&gt;&lt;br /&gt;    def setAttributes_MessageLoggingParams(sysModule, jmsResource, loggingFormat, enabled):&lt;br /&gt;      path = jmsPath+sysModule+jmsResourcePath+sysModule+&amp;quot;/Queues/&amp;quot;+jmsResource+&amp;quot;/MessageLoggingParams/&amp;quot;+jmsResource&lt;br /&gt;      cd(path)&lt;br /&gt;      #print &amp;quot;setting attributes for mbean type MessageLoggingParams&amp;quot;&lt;br /&gt;      set(&amp;quot;MessageLoggingFormat&amp;quot;, loggingFormat)&lt;br /&gt;      set(&amp;quot;MessageLoggingEnabled&amp;quot;, enabled)&lt;br /&gt;&lt;br /&gt;    #----&lt;br /&gt;    #                   create_and_Set ATTRIBUTE METHODS                           &lt;br /&gt;    #----&lt;br /&gt;&lt;br /&gt;    def create_and_setAttributesFor_SubDeployment(jmsServerName, subDep, sysRes):&lt;br /&gt;        createPath = jmsPath + sysRes&lt;br /&gt;        create_SubDeployment(createPath, subDep)&lt;br /&gt;        setPath = createPath + &amp;quot;/SubDeployments/&amp;quot; + subDep&lt;br /&gt;        setAttributesFor_SubDeployment(setPath, jmsServerPath+jmsServerName)&lt;br /&gt;&lt;br /&gt;    def create_and_setAttributesFor_SystemResources(sysResource, server):&lt;br /&gt;&lt;br /&gt;        createPath = sPath&lt;br /&gt;        create_JMSSystemResource(createPath, sysResource)&lt;br /&gt;        setPath = jmsPath + sysResource&lt;br /&gt;        setAttributesFor_JMSSystemResource(setPath, server)&lt;br /&gt;&lt;br /&gt;    def create_and_setAttributesFor_JMSServer(serverName, bean):&lt;br /&gt;        create_JMSServer(sPath, serverName)&lt;br /&gt;        setPath = jmsServerPath+serverName&lt;br /&gt;        setAttributesFor_c2JMSServer(setPath, serversPath+beServerName, bean)&lt;br /&gt;&lt;br /&gt;    def create_and_setQueues(jndiList, modulePath, c2iDepName):&lt;br /&gt;        #create and then set&lt;br /&gt;        for jndiName in jndiList:&lt;br /&gt;            #print jndiName&lt;br /&gt;            create_Queue(modulePath, jndiName)&lt;br /&gt;            queuePath = modulePath +&amp;quot;/Queues/&amp;quot; +  jndiName&lt;br /&gt;            setAttributesForQueue(queuePath, c2iDepName, jndiName, jndiName)&lt;br /&gt;            &lt;br /&gt;#This could be usefull for one off queues&lt;br /&gt;#        for q in customQList:&lt;br /&gt;#             exec &amp;quot;&amp;quot;&amp;quot;qJndiName = &amp;quot;&amp;quot;&amp;quot;+q+&amp;quot;&amp;quot;&amp;quot;jndi&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;#             exec &amp;quot;&amp;quot;&amp;quot;qSysRes = &amp;quot;&amp;quot;&amp;quot;+q+&amp;quot;&amp;quot;&amp;quot;sysRes&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;#             exec &amp;quot;&amp;quot;&amp;quot;qSubDep = &amp;quot;&amp;quot;&amp;quot;+q+&amp;quot;&amp;quot;&amp;quot;subDep&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;#             createPath=&amp;quot;/JMSSystemResources/&amp;quot;+qSysRes+&amp;quot;/JMSResource/&amp;quot;+qSysRes&lt;br /&gt;#             print &amp;quot;createQpath &amp;quot;&lt;br /&gt;#             print createPath&lt;br /&gt;#             create_Queue(createPath, qJndiName)&lt;br /&gt;#             setAttributesForQueue(createPath+&amp;quot;/Queues/&amp;quot;+qJndiName, qSubDep, qJndiName, qJndiName)&lt;br /&gt;&lt;br /&gt;    def create_and_setAttributesFor_JMSComponents(jmsList):&lt;br /&gt;         for jms in jmsList:&lt;br /&gt;             exec &amp;quot;&amp;quot;&amp;quot;jmsName = &amp;quot;&amp;quot;&amp;quot;+jms+&amp;quot;&amp;quot;&amp;quot;Name&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;             exec &amp;quot;&amp;quot;&amp;quot;subDep = &amp;quot;&amp;quot;&amp;quot;+jms+&amp;quot;&amp;quot;&amp;quot;SubDep&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;             exec &amp;quot;&amp;quot;&amp;quot;sysRes = &amp;quot;&amp;quot;&amp;quot;+jms+&amp;quot;&amp;quot;&amp;quot;SysRes&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;             exec &amp;quot;&amp;quot;&amp;quot;sysResTarget = &amp;quot;&amp;quot;&amp;quot;+jms+&amp;quot;&amp;quot;&amp;quot;SysResTarget&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;             exec &amp;quot;&amp;quot;&amp;quot;store = &amp;quot;&amp;quot;&amp;quot;+jms+&amp;quot;&amp;quot;&amp;quot;PersStore&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;             exec &amp;quot;&amp;quot;&amp;quot;jndiList = &amp;quot;&amp;quot;&amp;quot;+jms+&amp;quot;&amp;quot;&amp;quot;Queues&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;             exec &amp;quot;&amp;quot;&amp;quot;nonPersistentList = &amp;quot;&amp;quot;&amp;quot;+jms+&amp;quot;&amp;quot;&amp;quot;NonPers&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;             if (len(store)==0):&lt;br /&gt;                 store=None&lt;br /&gt;             create_and_setAttributesFor_JMSServer(jmsName, store)&lt;br /&gt;             create_and_setAttributesFor_SystemResources(sysRes, serversPath+sysResTarget)&lt;br /&gt;             create_and_setAttributesFor_SubDeployment(jmsName, subDep, sysRes)&lt;br /&gt;             modulePath = jmsPath+sysRes+jmsResourcePath+sysRes&lt;br /&gt;             if(len(jndiList)&amp;gt;0):&lt;br /&gt;                jndiList = standardStringSplit(jndiList,&amp;quot;, &amp;quot;)&lt;br /&gt;                create_and_setQueues(jndiList, modulePath, subDep)&lt;br /&gt;             if(len(nonPersistentList)&amp;gt;0):&lt;br /&gt;                 nonPersistentList = standardStringSplit(nonPersistentList,&amp;quot;, &amp;quot;)&lt;br /&gt;                 setAttributes_DeliveryParamsOverrides(nonPersistentList, modulePath)&lt;br /&gt;            &lt;br /&gt;    #--------------------------&lt;br /&gt;&lt;br /&gt;    def install():&lt;br /&gt;        #Create JMS Servers&lt;br /&gt;        loadProperties(jmsProp)&lt;br /&gt;        jmsServerList = standardStringSplit(jmsServers, &amp;quot;, &amp;quot;)&lt;br /&gt;        print &amp;quot;Creating and Setting JMS Servers&amp;quot;&lt;br /&gt;        create_and_setAttributesFor_JMSComponents(jmsServerList)&lt;br /&gt;        #---Below 4 variables are hardcoded for time being&lt;br /&gt;        #This should be changed eventually&lt;br /&gt;        sysModule = &amp;quot;c2JMSModule&amp;quot;&lt;br /&gt;        loggingFormat=&amp;quot;%header%,%properties%&amp;quot;&lt;br /&gt;        enabled=&amp;quot;false&amp;quot;&lt;br /&gt;        jmsResource=&amp;quot;c2.AsyncDispatcherRequestQ&amp;quot;&lt;br /&gt;        setAttributes_MessageLoggingParams(sysModule, jmsResource, loggingFormat, enabled)&lt;br /&gt;&lt;br /&gt;    def update():&lt;br /&gt;        install()&lt;br /&gt;&lt;br /&gt;    def clean():&lt;br /&gt;        loadProperties(jmsProp)&lt;br /&gt;        jmsServerList = standardStringSplit(jmsServers, &amp;quot;, &amp;quot;)&lt;br /&gt;        remove_JMSServers(jmsServerList)&lt;br /&gt;        &lt;br /&gt;    def run_mode(mode):&lt;br /&gt;&lt;br /&gt;        if (mode==&amp;quot;install&amp;quot;):&lt;br /&gt;            install()&lt;br /&gt;        elif (mode==&amp;quot;update&amp;quot;):&lt;br /&gt;            #update()&lt;br /&gt;            print &amp;quot;Not fully implemented&amp;quot;&lt;br /&gt;&lt;br /&gt;        elif (mode==&amp;quot;clean&amp;quot;):&lt;br /&gt;            #clean()&lt;br /&gt;            print &amp;quot;Not fully implemented&amp;quot;&lt;br /&gt;&lt;br /&gt;        else:&lt;br /&gt;            print mode + &amp;quot; is not a valid argument: Current Args are 'install' 'clean' 'update'&amp;quot;&lt;br /&gt;            pass&lt;br /&gt;&lt;br /&gt;    #---------------&lt;br /&gt;    def standardStringSplit(strToSplit, splitString):&lt;br /&gt;        splitter = re.compile(splitString)&lt;br /&gt;        splitList = splitter.split(strToSplit)&lt;br /&gt;        return splitList&lt;br /&gt;&lt;br /&gt;    def remove_JMSServers(jmsServerList):&lt;br /&gt;         path = jmsServerPath&lt;br /&gt;         for jmsServer in jmsServerList:&lt;br /&gt;            exec &amp;quot;&amp;quot;&amp;quot;jmsName = &amp;quot;&amp;quot;&amp;quot;+jmsServer+&amp;quot;&amp;quot;&amp;quot;Name&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;            print jmsName&lt;br /&gt;            clean_bean(path, jmsName, 'JMSServer')&lt;br /&gt;&lt;br /&gt;    def clean_bean(path, beanName, beanType):&lt;br /&gt;          cd(path)&lt;br /&gt;          #try:&lt;br /&gt;          print &amp;quot;Attempting to remove &amp;quot;+beanType+&amp;quot;: &amp;quot;+ beanName&lt;br /&gt;          exec &amp;quot;&amp;quot;&amp;quot;theBean = cmo.lookup&amp;quot;&amp;quot;&amp;quot;+beanType+&amp;quot;&amp;quot;&amp;quot;('&amp;quot;&amp;quot;&amp;quot;+beanName+&amp;quot;&amp;quot;&amp;quot;')&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;          if theBean != None:&lt;br /&gt;             print &amp;quot;Deleting &amp;quot;+beanName+&amp;quot;...&amp;quot;&lt;br /&gt;             delete(beanName, beanType)&lt;br /&gt;&lt;br /&gt;      #-------#&lt;br /&gt;&lt;br /&gt;    try:&lt;br /&gt;         if (runMode == []):&lt;br /&gt;            print('Run mode must be set')&lt;br /&gt;            pass&lt;br /&gt;         else:&lt;br /&gt;            parentpath = sys.argv[3]&lt;br /&gt;            envProp = parentpath+'/weblogic_setup/properties/env.properties'&lt;br /&gt;            jmsProp = parentpath+'/weblogic_setup/properties/JMS.properties'&lt;br /&gt;            connectToAdminServer()&lt;br /&gt;            startTransaction()&lt;br /&gt;            run_mode(runMode)&lt;br /&gt;            endTransaction()&lt;br /&gt;    finally:&lt;br /&gt;        print 'JMSQueueScript done'&lt;br /&gt;&lt;br /&gt;except IndexError:&lt;br /&gt;    print &amp;quot;Default action:Nothing&amp;quot;&lt;br /&gt;    print &amp;quot;Argument should be either 'install', 'clean' or 'update'&amp;quot;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-3497939816939312794?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2009/12/wslt-weblogic-jms-creation-script.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-6674797715931568508</guid><pubDate>Tue, 08 Dec 2009 23:56:00 +0000</pubDate><atom:updated>2009-12-09T10:08:54.930+10:00</atom:updated><title>jmeter ant script</title><description>this ant script run jmeter and also generates reports&lt;br /&gt;&lt;br /&gt;this ant script takes in two folder locations, and many test scripts and a time to run from each folder.&lt;br /&gt;&lt;br /&gt;this is used to run one set of the test then change folder and run another set of the same tests with different throughput numbers&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;   Licensed to the Apache Software Foundation (ASF) under one or more&lt;br /&gt;   contributor license agreements.  See the NOTICE file distributed with&lt;br /&gt;   this work for additional information regarding copyright ownership.&lt;br /&gt;   The ASF licenses this file to You under the Apache License, Version 2.0&lt;br /&gt;   (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with&lt;br /&gt;   the License.  You may obtain a copy of the License at&lt;br /&gt;&lt;br /&gt;       http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;&lt;br /&gt;   Unless required by applicable law or agreed to in writing, software&lt;br /&gt;   distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;   See the License for the specific language governing permissions and&lt;br /&gt;   limitations under the License.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;project name=&amp;quot;ant-jmeter&amp;quot; default=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;property file=&amp;quot;${Properties}&amp;quot;&amp;gt;&lt;br /&gt;   &lt;br /&gt;    &amp;lt;description&amp;gt;&lt;br /&gt;   &lt;br /&gt;        Sample build file for use with ant-jmeter.jar&lt;br /&gt;        See http://www.programmerplanet.org/pages/projects/jmeter-ant-task.php&lt;br /&gt;       &lt;br /&gt;    To run a test and create the output report:&lt;br /&gt;        ant -Dtest=script&lt;br /&gt;   &lt;br /&gt;    To run a test only:&lt;br /&gt;        ant -Dtest=script run&lt;br /&gt;       &lt;br /&gt;    To run report on existing test output&lt;br /&gt;        ant -Dtest=script report&lt;br /&gt;   &lt;br /&gt;    The &amp;quot;script&amp;quot; parameter is the name of the script without the .jmx suffix.&lt;br /&gt;   &lt;br /&gt;    Additional options:&lt;br /&gt;   &lt;br /&gt;        -Dtest2=script2   &lt;br /&gt;        -Dtest3=script3&lt;br /&gt;        -Dtest4=script4&lt;br /&gt;        -Dtest5=script5&lt;br /&gt;        -Dtest6=script6&lt;br /&gt;       &lt;br /&gt;        -DshutdownPort=4445&lt;br /&gt;        -DshutdownPort2=4446&lt;br /&gt;        -DshutdownPort3=4447&lt;br /&gt;        -DshutdownPort4=4448&lt;br /&gt;        -DshutdownPort5=4449&lt;br /&gt;        -DshutdownPort6=4450&lt;br /&gt;       &lt;br /&gt;        -Dtestpath=xyz - path to test file(s) (default user.dir).&lt;br /&gt;                         N.B. Ant interprets relative paths against the build file&lt;br /&gt;        -Dtestpath2=xyz - path to test file(s) second home eg 125 phl&lt;br /&gt;                         N.B. Ant interprets relative paths against the build file&lt;br /&gt;&lt;br /&gt;        -DtestTime=y - time to run each test set&lt;br /&gt;       &lt;br /&gt;        -DtestTimeOut=x - time for timeout to stop the test set in milliseconds eg, 30min = 30 * 60 * 1000&lt;br /&gt;&lt;br /&gt;        -Djmeter.home=.. - path to JMeter home directory (defaults to parent of this build file)&lt;br /&gt;        -Dshow-data=y - include response data in Failure Details&lt;br /&gt;       &lt;br /&gt;        Deprecated:&lt;br /&gt;        -Dformat=2.0 - use version 2.0 JTL files rather than 2.1&lt;br /&gt;&lt;br /&gt;    &amp;lt;/description&amp;gt;&lt;br /&gt;   &lt;br /&gt;    &amp;lt;!-- this is the test time for the test --&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;testTime&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;!-- timeout is in milliseconds, and must be 4mins more than test time eg, 30min = 30 * 60 * 100--&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;testTimeOut&amp;quot; value=&amp;quot;300000&amp;quot;&amp;gt;&lt;br /&gt;   &lt;br /&gt;    &amp;lt;property name=&amp;quot;testpath&amp;quot; value=&amp;quot;${user.dir}&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;jmeter.home&amp;quot; value=&amp;quot;${basedir}/..&amp;quot;&amp;gt;&lt;br /&gt;       &lt;br /&gt;    &amp;lt;!-- Name of test (without .jmx) --&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;test&amp;quot; value=&amp;quot;Test&amp;quot;&amp;gt;&lt;br /&gt;   &lt;br /&gt;    &amp;lt;property name=&amp;quot;shutdownPort&amp;quot; value=&amp;quot;4445&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;shutdownPort2&amp;quot; value=&amp;quot;4446&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;shutdownPort3&amp;quot; value=&amp;quot;4447&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;shutdownPort4&amp;quot; value=&amp;quot;4448&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;shutdownPort5&amp;quot; value=&amp;quot;4449&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;shutdownPort6&amp;quot; value=&amp;quot;4450&amp;quot;&amp;gt;&lt;br /&gt;   &lt;br /&gt;    &amp;lt;!-- Should report include response data for failures? --&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;show-data&amp;quot; value=&amp;quot;n&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;output&amp;quot; value=&amp;quot;out&amp;quot;&amp;gt;&lt;br /&gt;   &lt;br /&gt;    &amp;lt;property name=&amp;quot;format&amp;quot; value=&amp;quot;2.1&amp;quot;&amp;gt;&lt;br /&gt;       &lt;br /&gt;    &amp;lt;condition property=&amp;quot;style_version&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;equals arg1=&amp;quot;${format}&amp;quot; arg2=&amp;quot;2.0&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;/condition&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;condition property=&amp;quot;style_version&amp;quot; value=&amp;quot;_21&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;equals arg1=&amp;quot;${format}&amp;quot; arg2=&amp;quot;2.1&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;/condition&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;condition property=&amp;quot;funcMode&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;equals arg1=&amp;quot;${show-data}&amp;quot; arg2=&amp;quot;y&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;/condition&amp;gt;&lt;br /&gt;   &lt;br /&gt;    &amp;lt;condition property=&amp;quot;funcMode&amp;quot; value=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;      &amp;lt;not&amp;gt;&lt;br /&gt;        &amp;lt;equals arg1=&amp;quot;${show-data}&amp;quot; arg2=&amp;quot;y&amp;quot;&amp;gt;&lt;br /&gt;      &amp;lt;/not&amp;gt;&lt;br /&gt;    &amp;lt;/condition&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;!-- Allow jar to be picked up locally --&amp;gt;&lt;br /&gt;    &amp;lt;path id=&amp;quot;jmeter.classpath&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;fileset dir=&amp;quot;${basedir}&amp;quot;&amp;gt;&lt;br /&gt;          &amp;lt;include name=&amp;quot;ant-jmeter*.jar&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;/fileset&amp;gt;&lt;br /&gt;    &amp;lt;/path&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;taskdef&lt;br /&gt;        name=&amp;quot;jmeter&amp;quot;&lt;br /&gt;        classpathref=&amp;quot;jmeter.classpath&amp;quot;&lt;br /&gt;        classname=&amp;quot;org.programmerplanet.ant.taskdefs.jmeter.JMeterTask&amp;quot;/&amp;gt;&lt;br /&gt;   &lt;br /&gt;    &amp;lt;target name=&amp;quot;all&amp;quot; depends=&amp;quot;run,report&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;target name=&amp;quot;run&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;antcall target=&amp;quot;jmeterParallel&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;param name=&amp;quot;jmParallelPath&amp;quot; value=&amp;quot;${testpath}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;param name=&amp;quot;jmParallelRunTime&amp;quot; value=&amp;quot;${testTime}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;param name=&amp;quot;jmParallelTimeout&amp;quot; value=&amp;quot;${testTimeOut}&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;/antcall&amp;gt;&lt;br /&gt;        &amp;lt;antcall target=&amp;quot;jmeterParallel&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;param name=&amp;quot;jmParallelPath&amp;quot; value=&amp;quot;${testpath2}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;param name=&amp;quot;jmParallelRunTime&amp;quot; value=&amp;quot;${testTime}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;param name=&amp;quot;jmParallelTimeout&amp;quot; value=&amp;quot;${testTimeOut}&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;/antcall&amp;gt;&lt;br /&gt;    &amp;lt;/target&amp;gt;&lt;br /&gt;   &lt;br /&gt;    &amp;lt;target name=&amp;quot;jmeterParallel&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;parallel failonany=&amp;quot;false&amp;quot; timeout=&amp;quot;${jmParallelTimeout}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;jmeterStart&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value=&amp;quot;${test}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPort&amp;quot; value=&amp;quot;${shutdownPort}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value=&amp;quot;${jmParallelPath}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;jmeterStart&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value=&amp;quot;${test2}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPort&amp;quot; value=&amp;quot;${shutdownPort2}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value=&amp;quot;${jmParallelPath}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;jmeterStart&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value=&amp;quot;${test3}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPort&amp;quot; value=&amp;quot;${shutdownPort3}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value=&amp;quot;${jmParallelPath}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;jmeterStart&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value=&amp;quot;${test4}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPort&amp;quot; value=&amp;quot;${shutdownPort4}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value=&amp;quot;${jmParallelPath}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;jmeterStart&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value=&amp;quot;${test5}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPort&amp;quot; value=&amp;quot;${shutdownPort5}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value=&amp;quot;${jmParallelPath}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;jmeterStart&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value=&amp;quot;${test6}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPort&amp;quot; value=&amp;quot;${shutdownPort6}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value=&amp;quot;${jmParallelPath}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;            &amp;lt;sequential&amp;gt;&lt;br /&gt;                &amp;lt;!-- sleep till we want to shut down --&amp;gt;&lt;br /&gt;                &amp;lt;sleep minutes=&amp;quot;${jmParallelRunTime}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;antcall target=&amp;quot;shutdownJmeter&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/sequential&amp;gt;&lt;br /&gt;        &amp;lt;/parallel&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;/target&amp;gt;&lt;br /&gt;   &lt;br /&gt;    &amp;lt;target name=&amp;quot;jmeterStart&amp;quot; depends=&amp;quot;jmeterStart.check&amp;quot; if=&amp;quot;jmeterStart.run&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;echo&amp;gt;funcMode = ${funcMode}&amp;lt;/echo&amp;gt;&lt;br /&gt;                &amp;lt;delete file=&amp;quot;${output}/${jmPath}/${jmTest}.html&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;jmeter&lt;br /&gt;                    jmeterhome=&amp;quot;${jmeter.home}&amp;quot;&lt;br /&gt;                    testplan =&amp;quot;${jmPath}/${jmTest}.jmx&amp;quot;&lt;br /&gt;                    resultlog=&amp;quot;${output}/${jmPath}/${jmTest}.jtl&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;jvmarg value=&amp;quot;-Xmx256m&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;!--&lt;br /&gt;                    &amp;lt;jvmarg value=&amp;quot;-Xincgc&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;jvmarg value=&amp;quot;-Xmx128m&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;jvmarg value=&amp;quot;-Dproperty=value&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;jmeterarg value=&amp;quot;-qextra.properties&amp;quot;&amp;gt;&lt;br /&gt;                --&amp;gt;&lt;br /&gt;                    &amp;lt;!-- Force suitable defaults --&amp;gt;&lt;br /&gt;                    &amp;lt;property name=&amp;quot;jmeterengine.nongui.port&amp;quot; value=&amp;quot;${jmPort}&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;property name=&amp;quot;jmeter.save.saveservice.output_format&amp;quot; value=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;property name=&amp;quot;jmeter.save.saveservice.assertion_results&amp;quot; value=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;property name=&amp;quot;jmeter.save.saveservice.bytes&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;property name=&amp;quot;file_format.testlog&amp;quot; value=&amp;quot;${format}&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;property name=&amp;quot;jmeter.save.saveservice.response_data.on_error&amp;quot; value=&amp;quot;${funcMode}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;/jmeter&amp;gt;&lt;br /&gt;    &amp;lt;/target&amp;gt;&lt;br /&gt;   &lt;br /&gt;    &amp;lt;target name=&amp;quot;jmeterStart.check&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;condition property=&amp;quot;jmeterStart.run&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;and&amp;gt;&lt;br /&gt;                &amp;lt;not&amp;gt;&lt;br /&gt;                    &amp;lt;matches pattern =&amp;quot;^\$\{.+&amp;quot; string=&amp;quot;${jmPath}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;/not&amp;gt;&lt;br /&gt;                &amp;lt;not&amp;gt;&lt;br /&gt;                    &amp;lt;matches pattern =&amp;quot;^\$\{.+&amp;quot; string=&amp;quot;${jmTest}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;/not&amp;gt;&lt;br /&gt;            &amp;lt;/and&amp;gt;&lt;br /&gt;        &amp;lt;/condition&amp;gt;&lt;br /&gt;    &amp;lt;/target&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;target name=&amp;quot;shutdownJmeter&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;antcall target=&amp;quot;jmeterStop&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;param name=&amp;quot;jmPort&amp;quot; value = &amp;quot;${shutdownPort}&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;/antcall&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;antcall target=&amp;quot;jmeterStop&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;param name=&amp;quot;jmPort&amp;quot; value= &amp;quot;${shutdownPort2}&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;/antcall&amp;gt;&lt;br /&gt;        &amp;lt;antcall target=&amp;quot;jmeterStop&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;param name=&amp;quot;jmPort&amp;quot; value= &amp;quot;${shutdownPort3}&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;/antcall&amp;gt;&lt;br /&gt;        &amp;lt;antcall target=&amp;quot;jmeterStop&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;param name=&amp;quot;jmPort&amp;quot; value= &amp;quot;${shutdownPort4}&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;/antcall&amp;gt;&lt;br /&gt;        &amp;lt;antcall target=&amp;quot;jmeterStop&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;param name=&amp;quot;jmPort&amp;quot; value= &amp;quot;${shutdownPort5}&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;/antcall&amp;gt;&lt;br /&gt;        &amp;lt;antcall target=&amp;quot;jmeterStop&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;param name=&amp;quot;jmPort&amp;quot; value= &amp;quot;${shutdownPort6}&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;/antcall&amp;gt;&lt;br /&gt;    &amp;lt;/target&amp;gt;&lt;br /&gt;   &lt;br /&gt;    &amp;lt;target name=&amp;quot;jmeterStop&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;java classname=&amp;quot;org.apache.jmeter.util.ShutdownClient&amp;quot; timeout=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;arg value=&amp;quot;StopTestNow&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;arg value=&amp;quot;${jmPort}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;classpath&amp;gt;&lt;br /&gt;                &amp;lt;pathelement location=&amp;quot;${jmeter.home}/bin/ApacheJMeter.jar&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/classpath&amp;gt;&lt;br /&gt;        &amp;lt;/java&amp;gt;&lt;br /&gt;        &amp;lt;java classname=&amp;quot;org.apache.jmeter.util.ShutdownClient&amp;quot; timeout=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;arg value=&amp;quot;shutdown&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;arg value=&amp;quot;${jmPort}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;classpath&amp;gt;&lt;br /&gt;                &amp;lt;pathelement location=&amp;quot;${jmeter.home}/bin/ApacheJMeter.jar&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/classpath&amp;gt;&lt;br /&gt;        &amp;lt;/java&amp;gt;   &lt;br /&gt;    &amp;lt;/target&amp;gt;&lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;    &amp;lt;property name=&amp;quot;lib.dir&amp;quot; value=&amp;quot;${jmeter.home}/lib&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;xalan.jar&amp;quot; value=&amp;quot;${lib.dir}/xalan_2_7_1.jar&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;serializer.jar&amp;quot; value=&amp;quot;${lib.dir}/serializer-2_9_1.jar&amp;quot;&amp;gt;&lt;br /&gt;   &lt;br /&gt;    &amp;lt;!-- Use xalan copy from JMeter lib directory to ensure consistent processing with Java 1.4+ --&amp;gt;&lt;br /&gt;    &amp;lt;path id=&amp;quot;xslt.classpath&amp;quot;&amp;gt;&lt;br /&gt;       &amp;lt;pathelement location=&amp;quot;${xalan.jar}&amp;quot;&amp;gt;&lt;br /&gt;       &amp;lt;pathelement location=&amp;quot;${serializer.jar}&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;/path&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;target name=&amp;quot;report&amp;quot; depends=&amp;quot;_message_xalan&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;parallel&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;reportGenerate&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value = &amp;quot;${testpath}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value = &amp;quot;${test}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;reportGenerate&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value = &amp;quot;${testpath}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value = &amp;quot;${test2}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;reportGenerate&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value = &amp;quot;${testpath}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value = &amp;quot;${test3}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;reportGenerate&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value = &amp;quot;${testpath}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value = &amp;quot;${test4}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;reportGenerate&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value = &amp;quot;${testpath}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value = &amp;quot;${test5}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;reportGenerate&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value = &amp;quot;${testpath}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value = &amp;quot;${test6}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;reportGenerate&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value = &amp;quot;${testpath2}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value = &amp;quot;${test}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;reportGenerate&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value = &amp;quot;${testpath2}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value = &amp;quot;${test2}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;reportGenerate&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value = &amp;quot;${testpath2}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value = &amp;quot;${test3}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;       &lt;br /&gt;            &amp;lt;antcall target=&amp;quot;reportGenerate&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value = &amp;quot;${testpath2}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value = &amp;quot;${test4}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;   &lt;br /&gt;            &amp;lt;antcall target=&amp;quot;reportGenerate&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value = &amp;quot;${testpath2}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value = &amp;quot;${test5}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;            &amp;lt;antcall target=&amp;quot;reportGenerate&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmPath&amp;quot; value = &amp;quot;${testpath2}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;jmTest&amp;quot; value = &amp;quot;${test6}&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;/antcall&amp;gt;&lt;br /&gt;        &amp;lt;/parallel&amp;gt;&lt;br /&gt;    &amp;lt;/target&amp;gt;&lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;    &amp;lt;target name=&amp;quot;reportGenerate&amp;quot; depends=&amp;quot;reportGenerate.check&amp;quot; if=&amp;quot;reportGenerate.run&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;xslt&lt;br /&gt;            classpathref=&amp;quot;xslt.classpath&amp;quot;&lt;br /&gt;            force=&amp;quot;true&amp;quot;&lt;br /&gt;            in=&amp;quot;${output}/${jmPath}/${jmTest}.jtl&amp;quot;&lt;br /&gt;            out=&amp;quot;${output}/${jmPath}/${jmTest}.html&amp;quot;&lt;br /&gt;            style=&amp;quot;${jmeter.home}/extras/jmeter-results-detail-report${style_version}.xsl&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;param name=&amp;quot;showData&amp;quot; expression=&amp;quot;${show-data}&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;/xslt&amp;gt;&lt;br /&gt;    &amp;amp;lt;/target&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;target name=&amp;quot;reportGenerate.check&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;condition property=&amp;quot;reportGenerate.run&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;and&amp;gt;&lt;br /&gt;                &amp;lt;not&amp;gt;&lt;br /&gt;                    &amp;lt;matches pattern =&amp;quot;^\$\{.+&amp;quot; string=&amp;quot;${jmPath}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;/not&amp;gt;&lt;br /&gt;                &amp;lt;not&amp;gt;&lt;br /&gt;                    &amp;lt;matches pattern =&amp;quot;^\$\{.+&amp;quot; string=&amp;quot;${jmTest}&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;/not&amp;gt;&lt;br /&gt;            &amp;lt;/and&amp;gt;&lt;br /&gt;        &amp;lt;/condition&amp;gt;&lt;br /&gt;    &amp;lt;/target&amp;gt;&lt;br /&gt;   &lt;br /&gt;&lt;br /&gt;    &amp;lt;!-- Check that the xalan libraries are present --&amp;gt;&lt;br /&gt;    &amp;lt;condition property=&amp;quot;xalan.present&amp;quot;&amp;gt;&lt;br /&gt;          &amp;lt;and&amp;gt;&lt;br /&gt;              &amp;lt;!-- No need to check all jars; just check a few --&amp;gt;&lt;br /&gt;            &amp;lt;available classpathref=&amp;quot;xslt.classpath&amp;quot; classname=&amp;quot;org.apache.xalan.processor.TransformerFactoryImpl&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;available classpathref=&amp;quot;xslt.classpath&amp;quot; classname=&amp;quot;org.apache.xml.serializer.ExtendedContentHandler&amp;quot;&amp;gt;&lt;br /&gt;          &amp;lt;/and&amp;gt;&lt;br /&gt;    &amp;lt;/condition&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;target name=&amp;quot;_message_xalan&amp;quot; unless=&amp;quot;xalan.present&amp;quot;&amp;gt;&lt;br /&gt;          &amp;lt;echo&amp;gt;Cannot find all xalan and/or serialiser jars&amp;lt;/echo&amp;gt;&lt;br /&gt;        &amp;lt;echo&amp;gt;The XSLT formatting may not work correctly.&amp;lt;/echo&amp;gt;&lt;br /&gt;        &amp;lt;echo&amp;gt;Check you have ${xalan.jar} and ${serializer.jar}&amp;lt;/echo&amp;gt;&lt;br /&gt;    &amp;lt;/target&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/project&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-6674797715931568508?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2009/12/jmeter-ant-script.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-6492689380833392439</guid><pubDate>Tue, 12 May 2009 10:57:00 +0000</pubDate><atom:updated>2009-05-12T20:58:04.257+10:00</atom:updated><title>svn source build, just need to get 64bit working :)</title><description>http://dougmunsinger.com/2009/04/subversion-compile-and-install-as-non-privileged-user.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-6492689380833392439?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2009/05/svn-source-build-just-need-to-get-64bit.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-4506396389043591392</guid><pubDate>Mon, 11 May 2009 09:50:00 +0000</pubDate><atom:updated>2009-05-11T19:51:14.032+10:00</atom:updated><title>great resource on svn tricks</title><description>http://codesnippets.joyent.com/tag/svn&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-4506396389043591392?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2009/05/great-resource-on-svn-tricks.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-6627332446626979553</guid><pubDate>Sun, 26 Apr 2009 10:33:00 +0000</pubDate><atom:updated>2009-04-26T20:37:47.757+10:00</atom:updated><title>selenium + netbeans = seleniumPlugin</title><description>been doing some searching, be aware that the &lt;a href="http://wiki.netbeans.org/SeleniumPlugin"&gt;seleniumPlugin&lt;/a&gt;  can only be used/found for netbeans in the development branch, the same goes for the &lt;a href="http://wiki.netbeans.org/TestNG"&gt;TestNG plugin&lt;/a&gt;....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.netbeans.org/SeleniumPlugin"&gt;http://wiki.netbeans.org/SeleniumPlugin&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-6627332446626979553?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2009/04/selenium-netbeans-seleniumplugin.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-2778923422242603086</guid><pubDate>Sat, 25 Apr 2009 12:39:00 +0000</pubDate><atom:updated>2009-04-25T22:45:31.045+10:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>web development</category><title>web development work</title><description>My friend Jeremy has given me a job to create part of the new Waxy's Irish Pub website, they did not have one before a month ago, Waxy's is based on the sunshine coast, the owners also own &lt;a href="http://www.mickomalleys.com.au/"&gt;omalleys&lt;/a&gt; on Queen street brisbane, you can check out what they have at &lt;a href="http://www.ozpubgroup.com.au/"&gt;ozpubgroup.com.au&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://waxysirishpub.com.au/"&gt;waxysirishpub.com.au&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-2778923422242603086?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2009/04/web-development-work.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-8246971418676028280</guid><pubDate>Sat, 25 Apr 2009 12:37:00 +0000</pubDate><atom:updated>2009-04-25T22:39:33.275+10:00</atom:updated><title>eXtreme Programming</title><description>Extreme programing is something that everyone wants, but with an exisiting app, it takes along time to get into it.&lt;br /&gt;&lt;br /&gt;hopefully i can make a difference at my workplace for the better.&lt;br /&gt;&lt;a href="http://intellectualcramps.blogspot.com/2009/04/eclipse-development-process-technical.html"&gt;&lt;br /&gt;http://intellectualcramps.blogspot.com/2009/04/eclipse-development-process-technical.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-8246971418676028280?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2009/04/extreme-programming.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-9180283488728594293</guid><pubDate>Mon, 10 Sep 2007 23:57:00 +0000</pubDate><atom:updated>2007-09-11T10:01:26.530+10:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>life</category><title>NEW HELI :):):)</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.modelflight.com.au/eflite/eflite_pic/blade_cx2_e-flite_25d.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://www.modelflight.com.au/eflite/eflite_pic/blade_cx2_e-flite_25d.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;yesterday i received my second helicopter, its a beauty, all controls in such a small space.&lt;br /&gt;left spin, right spin, left drift, right drift, forward drift, backward drift, up and down.&lt;br /&gt;my last heli only had left spin, right spin, forward drift, backward drift and up and down.&lt;br /&gt;&lt;br /&gt;cost me less and hopefully i don't crash it as much. if i do, i'll hate myself but as its so good, i'll just fix it up and fly again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-9180283488728594293?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/09/new-heli.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-3065744259407225071</guid><pubDate>Mon, 13 Aug 2007 23:42:00 +0000</pubDate><atom:updated>2007-08-14T09:44:47.719+10:00</atom:updated><title>brought the car</title><description>yep. got that car, it's a french car and drives like you have a lead foot when you have a feather foot. &lt;br /&gt;&lt;br /&gt;still paying it off. still got 2grand to go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-3065744259407225071?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/08/brought-car.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-7922653375550430500</guid><pubDate>Mon, 23 Jul 2007 00:53:00 +0000</pubDate><atom:updated>2007-07-23T10:55:45.558+10:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>life</category><title>a puzzle a car and a new out fit?</title><description>sorry guys for not updating, just got a new job at citec :) which means i'm working 38hours a week. with my weekends free :). and because i have a high income my first purchase was a puzzle. from mr puzzle in the myer center, mind games. then it will be a car. the car i'm buying is a french car, starts with a p, model is 405 MI16 1.9L engine with 119 kl wat for $3000 which is nice as.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-7922653375550430500?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/07/puzzle-car-and-new-out-fit.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-8440704236650529568</guid><pubDate>Sat, 30 Jun 2007 01:38:00 +0000</pubDate><atom:updated>2007-06-30T11:44:53.411+10:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Tech</category><category domain='http://www.blogger.com/atom/ns#'>life</category><category domain='http://www.blogger.com/atom/ns#'>hack</category><title>how to hack the brisbane city council library catalog pc's</title><description>well for some reason brisbane city council went way overboard in stopping people from accessing the net on the pc's just for viewing the catalog over the internet. we all know that the internet wants to be free. the ways they stop the spread of the internet on the broswer terminals is to not allow you to access the address bar. it is unchangeable. all the good stuff in ie that you hate with a vengence because we use firefox are missing. eg you can't save, load, change anything nor copy paste or change any of the tool bars. i'd take a screenshot of what it has but that has also been disabled. this is just in the browser, but for the operating system, it has no start button. tho it does have the task bar so thats a good thing.&lt;br /&gt;&lt;br /&gt;now getting back to allowing you to go to any webpage out on the net via this terminal is easy. just do a search that will turn up no results and it comes up with a handy link. asking you if you want to do a google search. that is such a handy link to leave lying around the place and in doing so has foiled their plans of locked down pc.&lt;br /&gt;&lt;br /&gt;hope you have fun. its easy to make a list of stuff you look at regurlay or even just to google the address you want.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-8440704236650529568?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/06/how-to-hack-brisbane-city-council.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-1802612448266422557</guid><pubDate>Tue, 26 Jun 2007 23:36:00 +0000</pubDate><atom:updated>2007-06-27T09:37:48.791+10:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>life</category><title>itsa having a free bar tab.</title><description>come join. drink till the bar tab is gone. well not really. just come enjoy the company of having some leading  companys in brisbane enjoy some nice food and drink and network to get a job. that could happen or we could eat, play pool and drink a couple of jugs ;)&lt;br /&gt;&lt;br /&gt;hope you come&lt;br /&gt;&lt;br /&gt;will&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-1802612448266422557?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/06/itsa-having-free-bar-tab.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-8396479252691636534</guid><pubDate>Thu, 21 Jun 2007 04:35:00 +0000</pubDate><atom:updated>2007-06-21T14:37:42.569+10:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Tech</category><category domain='http://www.blogger.com/atom/ns#'>life</category><title>xml exam in 3 hours</title><description>well i should be studying for an exam that starts in 3 hours but i'm here typing to you all  about how well i might pass this subject. currently got 29.15% in the subject and just need another 21.9% to pass but i should stick to 30% just on the safeside. last exam is worth 60% out of the entire subject so i need at least 50% on it. good that its multiple choice :):) well gtg now. &lt;a href="http://boingboing.net/"&gt;boingboing.net &lt;/a&gt;might have something interesting on it by the time you finish reading this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-8396479252691636534?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/06/xml-exam-in-3-hours.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-6019211274575994733</guid><pubDate>Mon, 18 Jun 2007 23:21:00 +0000</pubDate><atom:updated>2007-06-19T09:25:55.119+10:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>art</category><category domain='http://www.blogger.com/atom/ns#'>Tech</category><category domain='http://www.blogger.com/atom/ns#'>Internet</category><title>Cool art that will mess with your head</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.frogview.com/show.php?file=1190"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://www.frogview.com/uploadimages/45c58b049fb310.69767630frogview-gallery.jpg" alt="" border="0" /&gt;&lt;/a&gt;Now don't get me wrong, art can be cool, but art that messes with your head is even cooler.&lt;br /&gt;&lt;br /&gt;Guess how many deer are in this photo.&lt;br /&gt;&lt;br /&gt;Find the rest of the photos at &lt;a href="http://www.frogview.com/show.php?file=1190"&gt;frogview.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-6019211274575994733?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/06/cool-art-that-will-mess-with-your-head.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-5685278613957571600</guid><pubDate>Mon, 18 Jun 2007 10:15:00 +0000</pubDate><atom:updated>2007-06-18T20:19:15.873+10:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Cars</category><category domain='http://www.blogger.com/atom/ns#'>Tech</category><category domain='http://www.blogger.com/atom/ns#'>DIY</category><title>The way car's are not suppose to be made</title><description>The Trabant was made out of onion meal and polyester fiberfill batting.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.hemmings.com/wp-content/uploads/2007/06/Zwickau.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://blog.hemmings.com/wp-content/uploads/2007/06/Zwickau.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;wow when you don't have steel create a steel subsitiute for your cars. &lt;a href="http://blog.hemmings.com/index.php/2007/06/14/inside-the-trabant-factory/"&gt;Find more info Here. &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-5685278613957571600?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/06/way-cars-are-not-suppose-to-be-made.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-6815754938285662743</guid><pubDate>Mon, 18 Jun 2007 10:13:00 +0000</pubDate><atom:updated>2007-06-18T20:15:21.724+10:00</atom:updated><title>The Black Hat Support</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://imgs.xkcd.com/comics/black_hat_support.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://imgs.xkcd.com/comics/black_hat_support.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;wow hope the world is not like this&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;thanks from &lt;a href="http://xkcd.com/"&gt;xdcd.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-6815754938285662743?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/06/black-hat-support.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-6767700646182714788</guid><pubDate>Wed, 30 May 2007 23:01:00 +0000</pubDate><atom:updated>2007-05-31T10:00:05.044+10:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Tech</category><category domain='http://www.blogger.com/atom/ns#'>life</category><title>The Waterfall model</title><description>&lt;p class="MsoNormal"&gt;    Hmm, it’s interesting that when you apply for a programming job, they ask you if you know the waterfall model. Quite strange but because I have not been in a position where people come to me asking me to make something on a scrap piece of paper I didn't know that it’s a big thing. So all those subjects just covering the model were not lost. Darn it was so boring too, if they told us that we would need this info for getting a job, I might have remembered more of it instead of brain dumping it to the computer so I can think better on programming in other languages, eg C#, java, scheme and recently XQuery.&lt;/p&gt; &lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Waterfall_model"&gt;waterfall model&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-6767700646182714788?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/05/waterfall-model.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-2473380733699369288</guid><pubDate>Wed, 30 May 2007 09:21:00 +0000</pubDate><atom:updated>2007-05-30T19:29:52.172+10:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>nature</category><category domain='http://www.blogger.com/atom/ns#'>picture</category><category domain='http://www.blogger.com/atom/ns#'>Internet</category><category domain='http://www.blogger.com/atom/ns#'>tree</category><title>A Tree That peeled like a banana when hit by lightning</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_anvB0lFELEQ/Rl0YnVOsRRI/AAAAAAAABS4/wPum7Iyxr_U/s400/D62A0885-1143-E5CB-254FE8A4770CDBE6.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://bp0.blogger.com/_anvB0lFELEQ/Rl0YnVOsRRI/AAAAAAAABS4/wPum7Iyxr_U/s400/D62A0885-1143-E5CB-254FE8A4770CDBE6.jpg" alt="" border="0" /&gt;&lt;/a&gt;They said that the tree is waxy and smooth to the touch.&lt;br /&gt;&lt;br /&gt;Read more via : &lt;a href="http://www.boingboing.net/2007/05/29/tree_peels_like_a_ba.html"&gt;Boingboing&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Thanks to &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.greenlisted.org/"&gt;Eric&lt;/a&gt;&lt;span style="font-style: italic;"&gt; and &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.boingboing.net/2007/05/29/tree_peels_like_a_ba.html"&gt;Mark&lt;/a&gt;&lt;span style="font-style: italic;"&gt; and &lt;a href="http://menarique.blogspot.com/"&gt;Menarique&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Just in this topic it seems that trees that have been struck by lightning do not burn and also are very difficult to cut down as that are as hard as anything. this is because solids don't actually burn, its the gas that burns. seems the theory is that wood that has been struck has its volatitles evaporated from it so that there is nothing to burn from it. this is also a tree dies from the strick as there is no fluids giving their nutrience to the leaves.&lt;/span&gt;&lt;span style="font-family:arial,helvetica;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;thats what i got from &lt;a href="http://www.abc.net.au/science/k2/stn/q&amp;amp;a/070524-5.htm"&gt;Dr Karl &lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-2473380733699369288?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/05/tree-that-peeled-like-banana-when-hit.html</link><author>noreply@blogger.com (W!ll!iam)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_anvB0lFELEQ/Rl0YnVOsRRI/AAAAAAAABS4/wPum7Iyxr_U/s72-c/D62A0885-1143-E5CB-254FE8A4770CDBE6.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-3418798604410014685</guid><pubDate>Mon, 28 May 2007 07:42:00 +0000</pubDate><atom:updated>2007-05-28T17:46:00.091+10:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Tech</category><category domain='http://www.blogger.com/atom/ns#'>life</category><category domain='http://www.blogger.com/atom/ns#'>uni</category><title>XQUERY why with the fortran??</title><description>i have no idea why people love this language. i'm guessing it came from people liking SQL and Scheme. with a bit of java thown in just for kicks. i'm starting to hate how the internet documentation on XQuery is rather lacking in some parts, such as how do i do dynamic tags??? also how do i change what the elements have stored when doing more than 2 querys one after the other??&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-3418798604410014685?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/05/xquery-why-with-fortran.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-3809372742142949457</guid><pubDate>Thu, 24 May 2007 23:36:00 +0000</pubDate><atom:updated>2007-05-25T09:40:04.472+10:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Internet</category><title>Animation based on spam filter-busting text via BoingBoing</title><description>&lt;p&gt;The brother's McLeod have created another creepy/cool cartoon short that uses the spam filter-breaking text that hideous spammers add to the bottom of their junk mail.&lt;/p&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/X44SPPaiLBA"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/X44SPPaiLBA" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;p&gt;It's cool. hope they make more.&lt;/p&gt;&lt;p&gt;from &lt;a href="http://www.boingboing.net/2007/05/24/animation_based_on_s.html"&gt;BoingBoing&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-3809372742142949457?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/05/animation-based-on-spam-filter-busting.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-4699254048771961257</guid><pubDate>Thu, 24 May 2007 23:15:00 +0000</pubDate><atom:updated>2007-05-25T09:17:49.249+10:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>life</category><category domain='http://www.blogger.com/atom/ns#'>uni</category><title>off to gympie i go</title><description>Well its time to head off to gympie. means that uni work goes out the window for a while. sucks... so many assignment due yet not enough time to do them all :( well i'll find time to do them tomorrow. as one is due on the 1st of june.&lt;br /&gt;&lt;br /&gt;also my birthday is coming up. 3rd of june. turning 20 :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-4699254048771961257?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/05/off-to-gympie-i-go.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-7982170708762605926</guid><pubDate>Wed, 23 May 2007 21:45:00 +0000</pubDate><atom:updated>2007-05-24T07:46:47.687+10:00</atom:updated><title>current best movie out.</title><description>&lt;h1&gt;&lt;a href="http://www.imdb.com/title/tt0449088/"&gt;Pirates of the Caribbean: At World's End&lt;/a&gt;&lt;/h1&gt;is out. wish i could go see it today but i'm working all day, then off to gympie tomorrow. coming back sunday, on sunday i work from midday till 8pm then need to hand in an assignment, maybe next week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-7982170708762605926?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/05/current-best-movie-out.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-5560906925974865125</guid><pubDate>Tue, 22 May 2007 21:59:00 +0000</pubDate><atom:updated>2007-05-23T13:11:33.277+10:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>life</category><category domain='http://www.blogger.com/atom/ns#'>uni</category><title>java assignment 80% done</title><description>well my java assginment which is an RSS reader is nearly completed :) just need to finish off updating and loading and saving. might also add save and load from external file if i have time. still got to do the testing, clean up my comments and the report, all before friday, as i'm not in town over the weekend and its due this sunday. yay.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-5560906925974865125?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/05/java-assignment-80-done.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2482159392595548869.post-3644378180850988130</guid><pubDate>Tue, 22 May 2007 12:26:00 +0000</pubDate><atom:updated>2007-05-22T22:28:41.533+10:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Tech</category><category domain='http://www.blogger.com/atom/ns#'>life</category><title>tough being a uni student.</title><description>assginments piling up. got a headacke. at least i have an engagement party to go to this weekend. pity i have an assignment due on the sunday after it. doh...&lt;br /&gt;&lt;br /&gt;btw&lt;br /&gt;&lt;br /&gt;you only have 6days and 2hours from when i post this to get your cheap copy of office 2007 ultimate. costs over $1000rrp but you can buy it for $75 IF you are an australian uni student.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://itsnotcheating.com.au/"&gt;http://itsnotcheating.com.au/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2482159392595548869-3644378180850988130?l=william-d.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://william-d.blogspot.com/2007/05/tough-being-uni-student.html</link><author>noreply@blogger.com (W!ll!iam)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item></channel></rss>