<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Perpetual Complexity</title>
	<atom:link href="http://www.flex.shallwelearn.com/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.flex.shallwelearn.com/blog</link>
	<description>Visulaize, Therefore Simplified</description>
	<pubDate>Fri, 24 Oct 2008 18:52:37 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Reborn</title>
		<link>http://www.flex.shallwelearn.com/blog/archives/116</link>
		<comments>http://www.flex.shallwelearn.com/blog/archives/116#comments</comments>
		<pubDate>Tue, 02 Sep 2008 13:45:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Quiet Time]]></category>

		<guid isPermaLink="false">http://www.flex.shallwelearn.com/blog/?p=116</guid>
		<description><![CDATA[An old man asked Jesus how he can entered the Kingdom of God and Jesus said: &#8220;You must be born again.&#8221;



]]></description>
			<content:encoded><![CDATA[<p>An old man asked Jesus how he can entered the Kingdom of God and Jesus said: &#8220;You must be born again.&#8221;<span id="more-116"></span></p>
<p><a href="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2008/09/090208p1.png"><img class="alignnone size-medium wp-image-117" title="090208p1" src="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2008/09/090208p1-231x300.png" alt="" width="231" height="300" /></a></p>
<p><a href="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2008/09/090208p2.png"><img class="alignnone size-medium wp-image-118" title="090208p2" src="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2008/09/090208p2-231x300.png" alt="" width="231" height="300" /></a></p>
<p><a href="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2008/09/090208p3.png"><img class="alignnone size-medium wp-image-119" title="090208p3" src="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2008/09/090208p3-300x95.png" alt="" width="300" height="95" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flex.shallwelearn.com/blog/archives/116/feed</wfw:commentRss>
		</item>
		<item>
		<title>Start Your First AndroMDA Project</title>
		<link>http://www.flex.shallwelearn.com/blog/archives/115</link>
		<comments>http://www.flex.shallwelearn.com/blog/archives/115#comments</comments>
		<pubDate>Thu, 26 Jun 2008 00:34:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Model Driven Architecture]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.flex.shallwelearn.com/blog/archives/115</guid>
		<description><![CDATA[This entry shows you step-by-step how to create an AndroMDA project
Step1: Environment Setup
Requires: - JDK 6 - maven 2.0.5 (default is 2.0.5 but can configure to use 2.0.7) - JBoss 4.0.4.GA - AndroMDA plugin - UML tool  - ArgoUML (UML1.4/XMI 1.2) - MagicDraw 9.5 (UML1.4/XMI 1.2) - MagicDraw 11.5 (UML 2/EMF) - RSM 6 [...]]]></description>
			<content:encoded><![CDATA[<p>This entry shows you step-by-step how to create an AndroMDA project<br id="g.pi" /><span id="more-115"></span><br id="g.pi0" /></p>
<h2 id="g.pi3">Step1: Environment Setup</h2>
<p>Requires:<br id="g.pi4" /> - JDK 6<br id="g.pi5" /> - maven 2.0.5 (default is 2.0.5 but can configure to use 2.0.7)<br id="g.pi6" /> - JBoss 4.0.4.GA<br id="g.pi7" /> - AndroMDA plugin<br id="g.pi8" /> - UML tool <br id="g.pi9" /> - ArgoUML (UML1.4/XMI 1.2)<br id="g.pi10" /> - MagicDraw 9.5 (UML1.4/XMI 1.2)<br id="g.pi11" /> - MagicDraw 11.5 (UML 2/EMF)<br id="g.pi12" /> - RSM 6 (Rational Software Modeler/Architect)(UML 2/EMF)<br id="g.pi13" /> - database server which supports Hibernate<br id="g.pi14" /> - MySQL<br id="g.pi15" /> - MySQL database server<br id="g.pi16" /> - MySQL GUI Tools Bundle<br id="g.pi17" /> - MySQL Connector/J version 5.0.4 (can confgirue to use other version, but default is 5.0.4)<br id="g.pi18" /> - Eclipse (optional)<br id="g.pi19" /><br id="g.pi20" /></p>
<h2 id="g.pi21">Step2: Create the Starter Application</h2>
<p><br id="g.pi22" /> 1) At cmd, type: <br id="g.pi23" /><br id="g.pi24" /> mvn.org.andromda.maven.plugins:andromdapp-maven-plugin:3.2:generate<br id="g.pi25" /><br id="g.pi26" /></p>
<pre id="g.pi27">    0Please choose the type of application to generate [richclient, j2ee]<br id="g.pi28" /><strong id="g.pi29">    j2ee</strong></pre>
<pre id="g.pi30">    Please enter the location in which your new application will be created<br id="g.pi31" />    (i.e. f:/java/development):<br id="g.pi32" /><strong id="g.pi33">    C:/</strong><br id="g.pi34" /><br id="g.pi35" />    Please enter your first and last name (i.e. Chad Brandon):<br id="g.pi36" /><strong id="g.pi37">    Jessica Chiang<br id="g.pi38" /><br id="g.pi39" /></strong>    Which kind of modeling tool will you use? [uml1.4, uml2, emf-uml2]:<br id="g.pi40" />    Use the list below to enter the correct choice:<br id="g.pi41" />    ArgoUML:        uml1.4<br id="g.pi42" />    MagicDraw 9.x:  uml1.4<br id="g.pi43" />    MagicDraw 11.5: uml2<br id="g.pi44" />    RSM 6:          emf-uml2<br id="g.pi45" /><strong id="g.pi46">    uml1.4</strong><br id="g.pi47" /><br id="g.pi48" />    Please enter the name of your J2EE project (i.e. Animal Quiz):<br id="g.pi49" /><strong id="g.pi50">    GMT Repo </strong><br id="g.pi51" /><br id="g.pi52" />    Please enter an id for your J2EE project (i.e. animalquiz):<br id="g.pi53" /><strong id="g.pi54">    gmtrepo</strong><br id="g.pi55" /><br id="g.pi56" />    Please enter a version for your project (i.e. 1.0-SNAPSHOT):<br id="g.pi57" /><strong id="g.pi58">    1.0-SNAPSHOT</strong><br id="g.pi59" /><br id="g.pi60" />    Please enter the root package name for your J2EE project<br id="g.pi61" />    (i.e. org.andromda.samples.animalquiz):<br id="g.pi62" /><strong id="g.pi63">    com.dsc.gmtrepo</strong><br id="g.pi64" /><br id="g.pi65" />    Would you like an EAR or standalone WAR? [ear, war]:<br id="g.pi66" /><strong id="g.pi67">    ear</strong><br id="g.pi68" /><br id="g.pi69" />    Please enter the type of transactional/persistence cartridge to use<br id="g.pi70" />    [hibernate, ejb, ejb3, spring, none]:<br id="g.pi71" /><strong id="g.pi72">    spring</strong><br id="g.pi73" /><br id="g.pi74" />    Please enter the database backend for the persistence layer<br id="g.pi75" />    [hypersonic, mysql, oracle, db2, informix, mssql, pointbase,<br id="g.pi76" />     postgres, sybase, sabdb, progress, derby]:<br id="g.pi77" /><strong id="g.pi78">    mysql</strong><br id="g.pi79" /><br id="g.pi80" />    Will your project need workflow engine capabilities?<br id="g.pi81" />    (it uses jBPM and Hibernate3)? [yes, no]:<br id="g.pi82" /><strong id="g.pi83">    no</strong><br id="g.pi84" /><br id="g.pi85" />    Please enter the hibernate version number<br id="g.pi86" />    (enter &#8216;2&#8242; for 2.1.x or &#8216;3&#8242; for 3.0.x) [2, 3]:<br id="g.pi87" /><strong id="g.pi88">    3</strong><br id="g.pi89" /><br id="g.pi90" />    Will your project have a web user interface? [yes, no]:<br id="g.pi91" /><strong id="g.pi92">    yes</strong><br id="g.pi93" /><br id="g.pi94" />    Would you like your web user interface to use JSF or Struts? [jsf, struts]:<br id="g.pi95" /><strong id="g.pi96">    struts</strong><br id="g.pi97" /><br id="g.pi98" />    Would you like to be able to expose your services as web services? [yes, no]:<br id="g.pi99" /><strong id="g.pi100">    no<br id="g.pi101" /><br id="g.pi102" /></strong>    2)After the starter application has been created, there are several configuration changes to be made by hand:<br id="g.pi103" />        - Spring: <br id="g.pi104" />            - turn Spring transaction handling off to use EJB<br id="g.pi105" />            -     Open C:gmtrepo<strong id="g.pi106">mdssrcmainconfigandromda.xml</strong>, and change &#8220;enableSrpingTransactionsWhenEjbsEnabled&#8221; <br id="g.pi107" />                  property from true to false<br id="g.pi108" />        - bpm4struts<br id="g.pi109" />            - change default date format to MM/dd/yyyy to match the prototype<br id="g.pi110" />            - Open C:gmtrepo<strong id="g.pi111">mdssrcmainconfigandromda.xml</strong>, and add a property at the bpm4struts namespace<br id="g.pi112" /><br id="g.pi113" />            <code id="g.pi114">    <span id="g.pi115" style="background-color: #99ff99;">&lt;property name=&#8221;defaultDateFormat&#8221;&gt;MM/dd/yyyy&lt;/property&gt;</span></code><br id="g.pi116" /><br id="g.pi117" />            - change to generate smaller resource bundles with duplicate elements names specified in a message<br id="g.pi118" />            - Open C:gmtrepo<strong id="g.pi119">mdssrcmainconfigandromda.xml</strong>, adn add a property at the bpm4struts namespace<br id="g.pi120" /><br id="g.pi121" />                <code id="g.pi122" style="background-color: #99ff99;">&lt;property name="normalizeMessages"&gt;true&lt;/property&gt;</code><br id="g.pi123" /> <br id="g.pi124" /><br id="g.pi125" />        - MySQL<br id="g.pi126" />            - Change project configuration so MySQL connector jar is used instead of hsql jar<br id="g.pi127" />            - Open C:gmtdata<strong id="g.pi128">pom.xml</strong>, and replace<br id="g.pi129" /><br id="g.pi130" /><code id="g.pi131">                <strong id="g.pi132">&lt;jdbc.driver.jar&gt;</strong>${jboss.home}/server/default/lib/hsqldb.jar<strong id="g.pi133">&lt;/jdbc.driver.jar&gt;</strong><br id="g.pi134" />               <br id="g.pi135" /></code>               with<br id="g.pi136" /><br id="g.pi137" />                 <code id="g.pi138"><span id="g.pi139" style="background-color: #99ff99;"><strong id="g.pi140">&lt;jdbc.driver.jar&gt;</strong></span><span id="g.pi141" style="background-color: #99ff99;">${jboss.home}/server/default/lib/mysql-connector-java-5.0.4.jar</span><span id="g.pi142" style="background-color: #99ff99;"><strong id="g.pi143">&lt;/jdbc.driver.jar&gt;</strong></span><br id="g.pi144" /><br id="g.pi145" /></code>            - Set database user name and password<br id="g.pi146" /><br id="g.pi147" />                <code id="g.pi148"><span id="g.pi149" style="background-color: #99ff99;"><strong id="g.pi150">&lt;jdbc.username&gt;</strong></span><span id="g.pi151" style="background-color: #99ff99;">myuser</span><span id="g.pi152" style="background-color: #99ff99;"><strong id="g.pi153">&lt;/jdbc.username&gt;</strong></span><br id="g.pi154" style="background-color: #99ff99;" />                <span id="g.pi155" style="background-color: #99ff99;"><strong id="g.pi156">&lt;jdbc.password&gt;</strong></span><span id="g.pi157" style="background-color: #99ff99;">mypwd</span><span id="g.pi158" style="background-color: #99ff99;"><strong id="g.pi159">&lt;/jdbc.password&gt;</strong></span><br id="g.pi160" /><br id="g.pi161" /></code>        - maven repository<br id="g.pi162" /><br id="g.pi163" />            - Add a declaration for Java.net repository<br id="g.pi164" />            &lt;repositories&gt;<br id="g.pi165" />                &lt;repository&gt;<br id="g.pi166" />                    &lt;id&gt;andromda&lt;/id&gt;<br id="g.pi167" />                    &lt;name&gt;AndroMDA Repository&lt;/name&gt;<br id="g.pi168" />                    &lt;url&gt;http://team.andromda.org/maven2&lt;/url&gt;<br id="g.pi169" />                    &lt;/repository&gt;<br id="g.pi170" />                <span id="g.pi171" style="background-color: #99ffff;"><span id="g.pi173" style="background-color: #ccffff;">&lt;repository&gt;</span></span><br id="g.pi174" style="background-color: #ccffff;" /><span id="g.pi175" style="background-color: #ccffff;">                    &lt;id&gt;maven-repository.dev.java.net&lt;/id&gt;  </span><br id="g.pi176" style="background-color: #ccffff;" /><span id="g.pi177" style="background-color: #ccffff;">                    &lt;name&gt;Java.net Repository for Maven 2&lt;/name&gt;</span><br id="g.pi178" style="background-color: #ccffff;" /><span id="g.pi179" style="background-color: #ccffff;">                    &lt;url&gt;https://maven-repository.dev.java.net/nonav/repository&lt;/url&gt;</span><br id="g.pi180" style="background-color: #ccffff;" /><span id="g.pi181" style="background-color: #ccffff;">                    &lt;layout&gt;default&lt;/layout&gt;</span><br id="g.pi182" style="background-color: #ccffff;" /><span id="g.pi183" style="background-color: #ccffff;">                &lt;/repository&gt;</span><br id="g.pi184" />            &lt;/repositories&gt;<br id="g.pi185" />    <br id="g.pi186" />            NOTE: the AndroMDA tutorial calls for <span id="g.pi187" style="background-color: #ffcccc;">https://maven2-repository.dev.java.net/nonav/repository</span> <br id="g.pi188" />            but <span id="g.pi189" style="background-color: #ffcccc;">https://maven-repository.dev.java.net/nonav/repository</span> should be used instead.<br id="g.pi190" /><br id="g.pi191" />        - Hibernate <br id="g.pi192" />            - Turn verbose logging off<br id="g.pi193" />            - Open C:gmtrepo<strong id="g.pi194">mdapom.xml</strong> and change hibernate.db.showSql to false<br id="g.pi195" /><br id="g.pi196" />       <span id="g.pi197" style="background-color: #ffcccc;"> - Comment out andromda-script-wrappers artifact dependency</span><br id="g.pi198" style="background-color: #ffcccc;" /><span id="g.pi199" style="background-color: #ffcccc;">            - Open C:gmtrepo<strong id="g.pi200">pom.xml</strong> and C:gmtdata<strong id="g.pi201">corepom.xml</strong> , C:gmtdatawebpom.xml, and comment out</span><br id="g.pi202" style="background-color: #ffcccc;" /><span id="g.pi203" style="background-color: #ffcccc;">               <span id="g.pi204" style="background-color: #ffcc99;"> &lt;!&#8211;</span></span><br id="g.pi205" style="background-color: #ffcc99;" /><span id="g.pi206" style="background-color: #ffcc99;">                 &lt;dependency&gt;</span><br id="g.pi207" style="background-color: #ffcc99;" /><span id="g.pi208" style="background-color: #ffcc99;">                &lt;groupId&gt;org.andromda&lt;/groupId&gt;</span><br id="g.pi209" style="background-color: #ffcc99;" /><span id="g.pi210" style="background-color: #ffcc99;">                &lt;artifactId&gt;andromda-script-wrappers&lt;/artifactId&gt;</span><br id="g.pi211" style="background-color: #ffcc99;" /><span id="g.pi212" style="background-color: #ffcc99;">                &lt;/dependency&gt;</span><br id="g.pi213" style="background-color: #ffcc99;" /><span id="g.pi214" style="background-color: #ffcccc;"><span id="g.pi215" style="background-color: #ffcc99;">                &#8211;&gt;</span><br id="g.pi216" /><br id="g.pi217" /></span><br id="g.pi218" /></pre>
<h2 id="g.pi219">Step3: Change model</h2>
<pre id="g.pi220"><br id="g.pi221" /><br id="g.pi222" />    3.1 Use UML tool to add a DAQConfig class and a DAQData class; both are of Value Object AndroMDA stereotypes<br id="g.pi223" /><br id="g.pi224" />    3.2 Use UML tool to add a DAQService to get all DAQConfig and all DAQData<br id="g.pi225" />    <br id="g.pi226" />    3.2 Configure the project to use TestNG for testing, instead of JUnit<br id="g.pi227" /><br id="g.pi228" />        3.2.1<strong id="g.pi229"> Open C:gmtrepopom.xml, change to use TestNG as followed:<br id="g.pi230" />        <br id="g.pi231" /><br id="g.pi232" /></strong>            <span id="g.pi234" style="background-color: #ffcc99;"><strong id="g.pi235">&lt;!&#8211;</strong></span><br id="g.pi236" style="background-color: #ffcc99;" /><span id="g.pi237" style="background-color: #ffcc99;">            &lt;dependency&gt;</span><br id="g.pi238" style="background-color: #ffcc99;" /><span id="g.pi239" style="background-color: #ffcc99;">                &lt;groupId&gt;junit&lt;/groupId&gt;</span><br id="g.pi240" style="background-color: #ffcc99;" /><span id="g.pi241" style="background-color: #ffcc99;">                &lt;artifactId&gt;junit&lt;/artifactId&gt;</span><br id="g.pi242" style="background-color: #ffcc99;" /><span id="g.pi243" style="background-color: #ffcc99;">                &lt;version&gt;3.8.1&lt;/version&gt;</span><br id="g.pi244" style="background-color: #ffcc99;" /><span id="g.pi245" style="background-color: #ffcc99;">                &lt;scope&gt;test&lt;/scope&gt;</span><br id="g.pi246" style="background-color: #ffcc99;" /><span id="g.pi247" style="background-color: #ffcc99;">            &lt;/dependency&gt;</span><br id="g.pi248" style="background-color: #ffcc99;" />            <span id="g.pi250" style="background-color: #ffcc99;"><strong id="g.pi251">&#8211;&gt;</strong></span><br id="g.pi252" />            <span id="g.pi253" style="background-color: #ccffff;">&lt;dependency&gt;</span><br id="g.pi254" style="background-color: #ccffff;" /><span id="g.pi255" style="background-color: #ccffff;">                &lt;groupId&gt;org.testng&lt;/groupId&gt;</span><br id="g.pi256" style="background-color: #ccffff;" /><span id="g.pi257" style="background-color: #ccffff;">                &lt;artifactId&gt;testng&lt;/artifactId&gt;</span><br id="g.pi258" style="background-color: #ccffff;" /><span id="g.pi259" style="background-color: #ccffff;">                &lt;version&gt;4.7&lt;/version&gt;</span><br id="g.pi260" style="background-color: #ccffff;" /><span id="g.pi261" style="background-color: #ccffff;">                &lt;scope&gt;test&lt;/scope&gt;</span><br id="g.pi262" style="background-color: #ccffff;" /><span id="g.pi263" style="background-color: #ccffff;">                &lt;classifier&gt;jdk15&lt;/classifier&gt;</span><br id="g.pi264" style="background-color: #ccffff;" /><span id="g.pi265" style="background-color: #ccffff;">            &lt;/dependency&gt;</span><br id="g.pi266" style="background-color: #ccffff;" /><span id="g.pi267" style="background-color: #ccffff;">            &lt;dependency&gt;</span><br id="g.pi268" style="background-color: #ccffff;" /><span id="g.pi269" style="background-color: #ccffff;">                &lt;groupId&gt;log4j&lt;/groupId&gt;</span><br id="g.pi270" style="background-color: #ccffff;" /><span id="g.pi271" style="background-color: #ccffff;">                &lt;artifactId&gt;log4j&lt;/artifactId&gt;</span><br id="g.pi272" style="background-color: #ccffff;" /><span id="g.pi273" style="background-color: #ccffff;">                &lt;version&gt;1.2.12&lt;/version&gt;</span><br id="g.pi274" style="background-color: #ccffff;" /><span id="g.pi275" style="background-color: #ccffff;">                &lt;scope&gt;test&lt;/scope&gt;</span><br id="g.pi276" style="background-color: #ccffff;" /><span id="g.pi277" style="background-color: #ccffff;">            &lt;/dependency&gt;</span><br id="g.pi278" style="background-color: #ccffff;" /><span id="g.pi279" style="background-color: #ccffff;">            &lt;dependency&gt;</span><br id="g.pi280" style="background-color: #ccffff;" /><span id="g.pi281" style="background-color: #ccffff;">                &lt;groupId&gt;mysql&lt;/groupId&gt;</span><br id="g.pi282" style="background-color: #ccffff;" /><span id="g.pi283" style="background-color: #ccffff;">                &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt;</span><br id="g.pi284" style="background-color: #ccffff;" /><span id="g.pi285" style="background-color: #ccffff;">                &lt;version&gt;5.0.4&lt;/version&gt;</span><br id="g.pi286" style="background-color: #ccffff;" /><span id="g.pi287" style="background-color: #ccffff;">                &lt;scope&gt;test&lt;/scope&gt;</span><br id="g.pi288" style="background-color: #ccffff;" /><span id="g.pi289" style="background-color: #ccffff;">            &lt;/dependency&gt;</span><br id="g.pi290" /><strong id="g.pi291">    <br id="g.pi292" />       </strong> 3.2.2 Also in C:gmtrepo<strong id="g.pi293">pom.xml</strong>, add maven compiler and surefire plugin<br id="g.pi294" />        <br id="g.pi295" />        &lt;pluginManagement&gt;<br id="g.pi296" />            &lt;plugins&gt;<br id="g.pi297" />                &#8230;.<br id="g.pi298" />                &lt;plugin&gt;<br id="g.pi299" />                    &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;<br id="g.pi300" />                    &lt;artifactId&gt;maven-resources-plugin&lt;/artifactId&gt;<br id="g.pi301" />                    &lt;version&gt;2.2&lt;/version&gt;<br id="g.pi302" />                &lt;/plugin&gt;<br id="g.pi303" />               <span id="g.pi304" style="background-color: #ccffff;"> &lt;plugin&gt;</span><br id="g.pi305" style="background-color: #ccffff;" /><span id="g.pi306" style="background-color: #ccffff;">                    &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;</span><br id="g.pi307" style="background-color: #ccffff;" /><span id="g.pi308" style="background-color: #ccffff;">                    &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;</span><br id="g.pi309" style="background-color: #ccffff;" /><span id="g.pi310" style="background-color: #ccffff;">                    &lt;configuration&gt;</span><br id="g.pi311" style="background-color: #ccffff;" /><span id="g.pi312" style="background-color: #ccffff;">                        &lt;source&gt;1.5&lt;/source&gt;</span><br id="g.pi313" style="background-color: #ccffff;" /><span id="g.pi314" style="background-color: #ccffff;">                        &lt;target&gt;1.5&lt;/target&gt;</span><br id="g.pi315" style="background-color: #ccffff;" /><span id="g.pi316" style="background-color: #ccffff;">                    &lt;/configuration&gt;</span><br id="g.pi317" style="background-color: #ccffff;" /><span id="g.pi318" style="background-color: #ccffff;">                &lt;/plugin&gt;</span><br id="g.pi319" style="background-color: #ccffff;" /><span id="g.pi320" style="background-color: #ccffff;">                &lt;plugin&gt;</span><br id="g.pi321" style="background-color: #ccffff;" /><span id="g.pi322" style="background-color: #ccffff;">                   &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;</span><br id="g.pi323" style="background-color: #ccffff;" /><span id="g.pi324" style="background-color: #ccffff;">                   &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;</span><br id="g.pi325" style="background-color: #ccffff;" /><span id="g.pi326" style="background-color: #ccffff;">                   &lt;version&gt;2.2&lt;/version&gt;</span><br id="g.pi327" style="background-color: #ccffff;" /><span id="g.pi328" style="background-color: #ccffff;">                   &lt;configuration&gt;</span><br id="g.pi329" style="background-color: #ccffff;" /><span id="g.pi330" style="background-color: #ccffff;">                     &lt;suiteXmlFiles&gt;</span><br id="g.pi331" style="background-color: #ccffff;" /><span id="g.pi332" style="background-color: #ccffff;">                       &lt;suiteXmlFile&gt;src/test/resources/testng.xml&lt;/suiteXmlFile&gt;</span><br id="g.pi333" style="background-color: #ccffff;" /><span id="g.pi334" style="background-color: #ccffff;">                     &lt;/suiteXmlFiles&gt;</span><br id="g.pi335" style="background-color: #ccffff;" /><span id="g.pi336" style="background-color: #ccffff;">                   &lt;/configuration&gt;</span><br id="g.pi337" style="background-color: #ccffff;" /><span id="g.pi338" style="background-color: #ccffff;">                &lt;/plugin&gt;</span><br id="g.pi339" />            &lt;/plugins&gt;   <br id="g.pi340" />        &lt;/pluginManagement&gt; <br id="g.pi341" />    <br id="g.pi342" />    3.3 Add TestNG test code to test the DAQService <br id="g.pi343" />        In C:gmtrepocoresrc, add a folder named &#8220;test&#8221;,<br id="g.pi344" /><br id="g.pi345" /></pre>
<blockquote id="g.pi346"><p>+test<br id="g.pi347" /> +java<br id="g.pi348" /> +com<br id="g.pi349" /> +dsc<br id="g.pi350" /> +repogmt<br id="g.pi351" /> +service<br id="g.pi352" /> -TubeCfgServiceTest.java<br id="g.pi353" /> +resources<br id="g.pi354" /> -log4j.xml<br id="g.pi355" /> -testRefFactory.xml<br id="g.pi356" /> -testing.xml<br id="g.pi357" /></p></blockquote>
<pre id="g.pi358"><br id="g.pi359" /></pre>
<pre id="g.pi360"> Last stop: <a id="gvnu" title="Search Criteria Panel" href="http://galaxy.andromda.org/index.php?option=com_content&amp;task=view&amp;id=141&amp;Itemid=89">Search Criteria Panel</a> <br id="g.pi361" /><br id="g.pi362" /><br id="g.pi363" /></pre>
<pre id="g.pi364">Problem:</pre>
<pre id="g.pi365">prob1: groovy</pre>
<pre id="g.pi366">prob2: jta.jar</pre>
<pre id="g.pi367">prob3: add TestNG capability (need to add a source package at the project root then add a package at that new source package, then import the</pre>
<pre id="g.pi368">test file to that new package ) (add more documentation here)</pre>
<pre id="g.pi369">prob4: errors importing the project to eclipse</pre>
<pre id="g.pi370">    - need to add M2_REPO environment</pre>
<pre id="g.pi371">    - sometimes need to add the org.testing jar</pre>
<pre id="g.pi372">    - need to create source package and package to put the service test classes</pre>
<pre id="g.pi373">prob5: errors at the "UserService Definition" because the tedious configuration process</pre>
<pre id="g.pi374">prob6: "Access denied while attempting to create the schema"</pre>
<pre id="g.pi375">Did you create an user and a schema? Then assign all priviledges of that schema to the new user?</pre>
<pre id="g.pi376">prob7: Could not get testNG to work<br id="g.pi377" />1) tried sync my m2repo with the successful project<br id="g.pi378" />2) tried change jdbc connector from 5.0.7 to 5.0.4<br id="g.pi379" />3) tried change maven surefire version <br id="g.pi380" />4) tried commented out body of the test function<br id="g.pi381" /><br id="g.pi382" />prob8: Need to manually add a comparator for each VO<br id="g.pi383" />From eclipse, right click your project root and add a Source Folder, name it comon/src/main/java.<br id="g.pi384" />Right click on this new source folder, and create comparator for each value object type. Say there is<br id="g.pi385" />a TubeCfgVO, then you would create TubeCfgVOComparator class. <br id="g.pi386" /><br id="g.pi387" /><br id="g.pi388" /><br id="g.pi389" /></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.flex.shallwelearn.com/blog/archives/115/feed</wfw:commentRss>
		</item>
		<item>
		<title>Set up AndroMDA build environment on Windows</title>
		<link>http://www.flex.shallwelearn.com/blog/archives/114</link>
		<comments>http://www.flex.shallwelearn.com/blog/archives/114#comments</comments>
		<pubDate>Thu, 26 Jun 2008 00:30:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Model Driven Architecture]]></category>

		<guid isPermaLink="false">http://www.flex.shallwelearn.com/blog/archives/114</guid>
		<description><![CDATA[
Notes on Setting up AndroMDA build environment on Windows
This tutorial show you how to set up AndroMDA build environment on Windows

Set up JDK and JAVA_HOME

Windows 2000/XP

Unzip the distribution archive, i.e. apache-maven-2.0.9-bin.zip to the directory you wish to install Maven 2.0.9. These instructions assume you chose &#8220;C:Program FilesApache Software Foundation&#8221; . The subdirectory apache-maven-2.0.9 will be [...]]]></description>
			<content:encoded><![CDATA[<div id="yi6w" class="section">
<h4>Notes on Setting up AndroMDA build environment on Windows<br id="yi6w1" /></h4>
<h4 id="yi6w2">This tutorial show you how to set up AndroMDA build environment on Windows</h4>
<h4><span id="more-114"></span></h4>
<h4 id="yi6w4">Set up JDK and JAVA_HOME<br id="yi6w5" /></h4>
<h4 id="yi6w6"><br id="yi6w7" /></h4>
<h4 id="yi6w8">Windows 2000/XP</h4>
<ol id="yi6w9" type="1">
<li id="yi6w10">Unzip the distribution archive, i.e. <tt id="yi6w11">apache-maven-2.0.9-bin.zip</tt> to the directory you wish to install Maven 2.0.9. These instructions assume you chose <tt id="yi6w12">&#8220;C:Program FilesApache Software Foundation&#8221;</tt> . The subdirectory <tt id="yi6w13">apache-maven-2.0.9</tt> will be created from the archive.</li>
<li id="yi6w14">Add the <tt id="yi6w15">M2_HOME</tt> environment variable by opening up the system properties (WinKey + Pause), selecting the &#8220;Advanced&#8221; tab, and the &#8220;Environment Variables&#8221; button, then adding the <tt id="yi6w16">M2_HOME</tt> variable in the user variables with the value <tt id="yi6w17">&#8220;C:Program FilesApache Software Foundationapache-maven-2.0.9&#8243;</tt> . <strong id="yi6w18">Note</strong> : for Maven &lt; 2.0.9, be sure that the <tt id="yi6w19">M2_HOME</tt> doesn&#8217;t have a &#8221; as last character.</li>
<li id="yi6w20">In the same dialog, add the <tt id="yi6w21">M2</tt> environment variable in the user variables with the value <tt id="yi6w22">&#8220;%M2_HOME%bin&#8221;</tt> .</li>
<li id="yi6w23"><strong id="yi6w24">Optional</strong> : in the same dialog, add the <tt id="yi6w25">MAVEN_OPTS</tt> environment variable in the user variables to specify JVM properties, e.g. the value <tt id="yi6w26">&#8220;-Xms256m -Xmx512m&#8221;</tt> . This environment variable can be used to supply extra options to Maven.</li>
<li id="yi6w27">In the same dialog, update/create the <tt id="yi6w28">Path</tt> environment variable in the user variables with the value <tt id="yi6w29">&#8220;%M2%;%Path%&#8221;</tt> to add maven available in the command line.</li>
<li id="yi6w30">In the same dialog, make sure that <tt id="yi6w31">JAVA_HOME</tt> exists in your user variables or in the system variables and it is set to the location of your JDK, e.g. <tt id="yi6w32">&#8220;C:Program FilesJavajdk1.5.0_02&#8243;</tt> and that <tt id="yi6w33">&#8220;%JAVA_HOME%bin&#8221;</tt> is in your <tt id="yi6w34">Path</tt> environment variable.</li>
<li id="yi6w35">Open a new command prompt (Winkey + R then type <tt id="yi6w36">&#8220;cmd&#8221;</tt> ) and run <tt id="yi6w37">&#8220;mvn &#8211;version&#8221;</tt> to verify that it is correctly installed.</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.flex.shallwelearn.com/blog/archives/114/feed</wfw:commentRss>
		</item>
		<item>
		<title>Set up Geant4, CLHEP, and ROOT On Ubuntu 8.0.4</title>
		<link>http://www.flex.shallwelearn.com/blog/archives/111</link>
		<comments>http://www.flex.shallwelearn.com/blog/archives/111#comments</comments>
		<pubDate>Fri, 13 Jun 2008 19:29:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Machine Setup]]></category>

		<guid isPermaLink="false">http://www.flex.shallwelearn.com/blog/archives/111</guid>
		<description><![CDATA[Notes on setting up Geant4, CLHEP, and ROOT on Ubuntu 8.0.4 for work. 
Set up Geant4, CLHEP, and ROOT On Ubuntu 8.0.4

0.1) Install Ubuntu 8.0.4
Install Ubuntu 8.0.4 and complete basic setup such as networking. 
0.2) Install Necessary Package
Installed the following packages using &#8220;apt-get install&#8221; command.






libX11-dev 


g++ 


libxft-dev 


libxpm-dev 


libxt-dev 


freeglut3 


freeglut3-dev 


libglut3 


libglut3-dev 


libmotif3 


libmotif-dev [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0in" id="oz_-">Notes on setting up Geant4, CLHEP, and ROOT on Ubuntu 8.0.4 for work. <span id="more-111"></span><br id="oz_-2" /></p>
<p style="margin-top: 0.17in" id="oz_-3"><font face="Helvetica" id="oz_-4"><font size="4" id="oz_-5">Set up Geant4, CLHEP, and ROOT On Ubuntu 8.0.4</font></font></p>
<p style="margin-bottom: 0in" id="oz_-6"><br id="oz_-7" /></p>
<h1 id="oz_-8" class="western"><font face="Helvetica" id="oz_-9">0.1) Install Ubuntu 8.0.4</font></h1>
<p style="margin-top: 0.17in" id="oz_-10"><font face="Helvetica" id="oz_-11">Install Ubuntu 8.0.4 and complete basic setup such as networking. </font></p>
<h1 id="oz_-12" class="western"><font face="Helvetica" id="oz_-13">0.2) Install Necessary Package</font></h1>
<p style="margin-bottom: 0in" id="oz_-14">Installed the following packages using &#8220;apt-get install&#8221; command.</p>
<p style="margin-bottom: 0in" id="oz_-15"><br id="oz_-16" /></p>
<table border="1" width="100%" cellPadding="4" cellSpacing="0" borderColor="#996633" id="oz_-17">
<tr id="oz_-20">
<td bgColor="#ffffcc" width="100%" vAlign="top" id="oz_-21">
<ul id="oz_-22">
<li id="oz_-23">
<p align="left" style="margin-bottom: 0in" id="oz_-24"><font size="2" id="oz_-25">libX11-dev </font></p>
</li>
<li id="oz_-26">
<p align="left" style="margin-bottom: 0in" id="oz_-27"><font size="2" id="oz_-28">g++ </font></p>
</li>
<li id="oz_-29">
<p align="left" style="margin-bottom: 0in" id="oz_-30"><font size="2" id="oz_-31">libxft-dev </font></p>
</li>
<li id="oz_-32">
<p align="left" style="margin-bottom: 0in" id="oz_-33"><font size="2" id="oz_-34">libxpm-dev </font></p>
</li>
<li id="oz_-35">
<p align="left" style="margin-bottom: 0in" id="oz_-36"><font size="2" id="oz_-37">libxt-dev </font></p>
</li>
<li id="oz_-38">
<p align="left" style="margin-bottom: 0in" id="oz_-39"><font size="2" id="oz_-40">freeglut3 </font></p>
</li>
<li id="oz_-41">
<p align="left" style="margin-bottom: 0in" id="oz_-42"><font size="2" id="oz_-43">freeglut3-dev </font></p>
</li>
<li id="oz_-44">
<p align="left" style="margin-bottom: 0in" id="oz_-45"><font size="2" id="oz_-46">libglut3 </font></p>
</li>
<li id="oz_-47">
<p align="left" style="margin-bottom: 0in" id="oz_-48"><font size="2" id="oz_-49">libglut3-dev </font></p>
</li>
<li id="oz_-50">
<p align="left" style="margin-bottom: 0in" id="oz_-51"><font size="2" id="oz_-52">libmotif3 </font></p>
</li>
<li id="oz_-53">
<p align="left" style="margin-bottom: 0in" id="oz_-54"><font size="2" id="oz_-55">libmotif-dev </font></p>
</li>
<li id="oz_-56">
<p align="left" style="margin-bottom: 0in" id="oz_-57"><font size="2" id="oz_-58">x11proto-print-dev</font></p>
</li>
<li id="oz_-59">
<p align="left" style="margin-bottom: 0in" id="oz_-60"><font size="2" id="oz_-61">libxaw7-dev </font></p>
</li>
<li id="oz_-62">
<p align="left" style="margin-bottom: 0in" id="oz_-63"><font size="2" id="oz_-64">libmudflap0 </font></p>
</li>
<li id="oz_-65">
<p align="left" style="margin-bottom: 0in" id="oz_-66"><font size="2" id="oz_-67">libmudflap0-dev </font></p>
</li>
<li id="oz_-68">
<p align="left" style="margin-bottom: 0in" id="oz_-69"><font size="2" id="oz_-70">po-debconf </font></p>
</li>
<li id="oz_-71">
<p align="left" style="margin-bottom: 0in" id="oz_-72"><font size="2" id="oz_-73">intltool-debian </font></p>
</li>
<li id="oz_-74">
<p align="left" style="margin-bottom: 0in" id="oz_-75"><font size="2" id="oz_-76">subversion </font></p>
</li>
<li id="oz_-77">
<p align="left" style="margin-bottom: 0in" id="oz_-78"><font size="2" id="oz_-79">libusb-dev</font></p>
</li>
<li id="oz_-80">
<p align="left" style="margin-bottom: 0in" id="oz_-81"><font size="2" id="oz_-82">libboost-dev</font></p>
</li>
<li id="oz_-83">
<p align="left" style="margin-bottom: 0in" id="oz_-84"><font size="2" id="oz_-85">libmysql++-dev</font></p>
</li>
<li id="oz_-86">
<p align="left" id="oz_-87">&nbsp;</p>
<p><br id="aodu" /></li>
</ul>
</td>
</tr>
</table>
<p style="margin-bottom: 0in" id="oz_-88"><br id="oz_-89" /></p>
<h1 id="oz_-90" class="western">1) Set up Root</h1>
<p style="margin-bottom: 0in" id="oz_-91"><br id="oz_-92" /></p>
<p style="margin-bottom: 0in" id="oz_-93">Obtain the latest Root from <a href="http://root.cern.ch/" id="oz_-94">http://root.cern.ch</a>. I used Root version 5.18.</p>
<p style="margin-bottom: 0in" id="oz_-95"><br id="oz_-96" /></p>
<p style="margin-bottom: 0in" id="oz_-97">Unzip the Root package to the location of choice, say ~/mt-sys. After unzipping, there will be a “root” directory in ~/mt-sys. We will come back in the later step to set up root configuration.</p>
<p style="margin-bottom: 0in" id="oz_-98"><br id="oz_-99" /></p>
<p style="margin-bottom: 0in" id="oz_-100">To build Root from source, download the source ball, unzip it, then change to the source directory</p>
<table border="1" width="100%" cellPadding="4" cellSpacing="0" borderColor="#000000" id="oz_-101">
<tr id="oz_-104">
<td bgColor="#e6e6ff" width="100%" vAlign="top" id="oz_-105">
<p style="margin-bottom: 0in" id="oz_-106"><font size="2" id="oz_-107">#cd ~/SetUpZip</font></p>
<p style="margin-bottom: 0in" id="oz_-108"><font size="2" id="oz_-109">#tar <span id="oz_-110">-zxvpf &lt;root_src&gt;.tar</span><strong id="oz_-111">.</strong><span id="oz_-112">gz</span></font></p>
<p style="margin-bottom: 0in" id="oz_-113"><font size="2" id="oz_-114">#cd &lt;root_src&gt;</font></p>
<p style="margin-bottom: 0in" id="oz_-115"><font size="2" id="oz_-116">#./configure –-prefix=~/mt-sys/root –-enable-opengl –-enable-mysql </font></p>
<p style="margin-bottom: 0in" id="oz_-117">–<font size="2" id="oz_-118">-enable-builtin-ftgl </font></p>
<p style="margin-bottom: 0in" id="oz_-119"><font size="2" id="oz_-120"># make</font></p>
<p id="oz_-121"><font size="2" id="oz_-122"># make install </font></p>
</td>
</tr>
</table>
<p style="margin-bottom: 0in" id="oz_-123"><br id="oz_-124" /></p>
<p style="margin-bottom: 0in" id="oz_-125">Notes on tar options used above</p>
<ul id="oz_-126">
<li id="oz_-127">
<p style="margin-bottom: 0in" id="oz_-128">-z : unzip the file first</p>
</li>
<li id="oz_-129">
<p style="margin-bottom: 0in" id="oz_-130">-x : extract the files from the tarball</p>
</li>
<li id="oz_-131">
<p style="margin-bottom: 0in" id="oz_-132">-v : &#8220;verbose&#8221; (i.e tar tells you what files it&#8217;s extracting)</p>
</li>
<li id="oz_-133">
<p style="margin-bottom: 0in" id="oz_-134">-p : preserves dates, permissions of the original files</p>
</li>
<li id="oz_-135">
<p id="oz_-136">-f : use the file in question (if you don&#8217;t specify this, tar just sort of sits around doing nothing)</p>
</li>
</ul>
<p style="margin-bottom: 0in" id="oz_-137"><br id="oz_-138" /></p>
<p style="margin-bottom: 0in" id="oz_-139">Add the following lines to your ~/.bashrc file</p>
<p id="oz_-140"><br id="oz_-141" /></p>
<table border="1" width="100%" cellPadding="4" cellSpacing="0" borderColor="#000000" id="oz_-142">
<tr id="oz_-145">
<td bgColor="#e6e64c" width="100%" vAlign="top" id="oz_-146">
<p id="oz_-147"><font size="2" id="oz_-148">CURCWD=`pwd`</font></p>
<p id="oz_-149"><font size="2" id="oz_-150">cd ~/dev/root</font></p>
<p id="oz_-151"><font size="2" id="oz_-152">source bin/thisroot.sh</font></p>
<p id="oz_-153"><font size="2" id="oz_-154">cd $CURCWD</font></p>
<p id="oz_-155"><br id="oz_-156" /></p>
<p id="oz_-157"><font size="2" id="oz_-158">export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ROOTSYS}/lib/root</font></p>
</td>
</tr>
</table>
<p id="oz_-159"><br id="oz_-160" /></p>
<h1 id="oz_-161" class="western">2) Set up CLHEP</h1>
<p style="margin-bottom: 0in" id="oz_-162"><br id="oz_-163" /></p>
<p style="margin-bottom: 0in" id="oz_-164">To build CLHEP, you need gcc-3.2.3 or higher.</p>
<p style="margin-bottom: 0in" id="oz_-165"><br id="oz_-166" /></p>
<p style="margin-bottom: 0in" id="oz_-167">Obtain CLHEP source package from <a href="http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/clhep.html" id="oz_-168">http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/clhep.html. </a></p>
<p style="margin-bottom: 0in" id="oz_-169"><br id="oz_-170" /></p>
<p style="margin-bottom: 0in" id="oz_-171">I used version 2.0.3.1 (</p>
<p style="margin-bottom: 0in" id="oz_-172"><a href="http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/distributions/clhep-2.0.3.1.tgz" id="oz_-173">http://proj-clhep.web.cern.ch/projclhep/DISTRIBUTION/distributions/clhep-2.0.3.1.tgz)</a></p>
<p style="margin-bottom: 0in" id="oz_-174"><br id="oz_-175" /></p>
<p style="margin-bottom: 0in" id="oz_-176">Save the tar ball in a directory of choice, say ~/install. Then unzip and then do configure, make, and make install in the unzipped directory. Note that by default, the CLHEP is installed in /usr/local. I set the installation path to /home/jessica/mt-sys/CLHEP by doing “./configure –-prefix=/home/jessica/mt-sys/CLHEP”.</p>
<p style="margin-bottom: 0in" id="oz_-177"><br id="oz_-178" /></p>
<table border="1" width="100%" cellPadding="4" cellSpacing="0" borderColor="#000000" id="oz_-179">
<tr id="oz_-182">
<td bgColor="#e6e6ff" width="100%" vAlign="top" id="oz_-183">
<p style="margin-bottom: 0in" id="oz_-184"><font size="2" id="oz_-185">cd ~/SetUpZip</font></p>
<p style="margin-bottom: 0in" id="oz_-186"><font size="2" id="oz_-187">tar -zxvpf clhep-&lt;version&gt;.tar</font></p>
<p style="margin-bottom: 0in" id="oz_-188"><font size="2" id="oz_-189">cd &lt;version&gt;/CLHEP</font></p>
<p style="margin-bottom: 0in" id="oz_-190"><font size="2" id="oz_-191">./configure –-prefix=/home/jessica/mt-sys/CLHEP</font></p>
<p style="margin-bottom: 0in" id="oz_-192"><fon<></fon<></p>
</td>
</tr>
</table>
<p>dfsdfas</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flex.shallwelearn.com/blog/archives/111/feed</wfw:commentRss>
		</item>
		<item>
		<title>Flex Tree Tree Control</title>
		<link>http://www.flex.shallwelearn.com/blog/archives/81</link>
		<comments>http://www.flex.shallwelearn.com/blog/archives/81#comments</comments>
		<pubDate>Sun, 30 Sep 2007 00:48:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.flex.shallwelearn.com/blog/archives/81</guid>
		<description><![CDATA[I need a implement Flex tree control to display and access QoS Tree information from the Java back-end subsyste. This blog entry log acts like a flipbook page of what lessons learned.
Helpful links:
1. mx:Tree AS Doc 
2. cflex tree node renderer code
3. Flex Quick Start on Tree Control
4. Using Tree Control from Flex Development Guide
5. [...]]]></description>
			<content:encoded><![CDATA[<p>I need a implement Flex tree control to display and access QoS Tree information from the Java back-end subsyste. This blog entry log acts like a flipbook page of what lessons learned.<span id="more-81"></span><a href="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2007/09/zapsnap_003.PNG" title="Modified"><img src="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2007/09/zapsnap_003.PNG" alt="Modified" /></a></p>
<p>Helpful links:<br />
1. <a href="http://livedocs.adobe.com/flex/2/langref/mx/controls/Tree.html#expandItem()">mx:Tree AS Doc </a></p>
<p>2. <a href="http://www.cflex.net/showFileDetails.cfm?ObjectID=574">cflex tree node renderer code</a></p>
<p>3. <a href="http://www.adobe.com/devnet/flex/quickstart/working_with_tree/">Flex Quick Start on Tree Control</a></p>
<p>4. <a href="http://livedocs.adobe.com/flex/2/docs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&amp;file=00000602.html">Using Tree Control from Flex Development Guide</a></p>
<p>5. <a href="http://livedocs.adobe.com/flex/2/langref/XML.html#descendants()">XML</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flex.shallwelearn.com/blog/archives/81/feed</wfw:commentRss>
		</item>
		<item>
		<title>Startup Research</title>
		<link>http://www.flex.shallwelearn.com/blog/archives/75</link>
		<comments>http://www.flex.shallwelearn.com/blog/archives/75#comments</comments>
		<pubDate>Tue, 04 Sep 2007 22:43:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[StartUp]]></category>

		<guid isPermaLink="false">http://www.flex.shallwelearn.com/blog/archives/75</guid>
		<description><![CDATA[Below is the note I took on startup while taking several hours of research at Borders. There are three sections in this research report: self-assessment, interesting business ideas, networking., and money matters. 
&#160;
 I. Self-Assessment
     To be a successful entrepreneur, one must have the following traits:
 Perserverance,
Creativity
Honesty
Organization
Ability to multitask
Courage
Self-Confidence
For $1 invested, [...]]]></description>
			<content:encoded><![CDATA[<p>Below is the note I took on startup while taking several hours of research at Borders. There are three sections in this research report: self-assessment, interesting business ideas, networking., and money matters. <span id="more-75"></span></p>
<p align="center">&nbsp;</p>
<p align="left"> I. Self-Assessment</p>
<p align="left">     To be a successful entrepreneur, one must have the following traits:</p>
<li> Perserverance,</li>
<li>Creativity</li>
<li>Honesty</li>
<li>Organization</li>
<li>Ability to multitask</li>
<li>Courage</li>
<li>Self-Confidence</li>
<p>For $1 invested, $.05 return is average, $.10 return is good and $.15 return is exceptional.II. Interesting Business Ideas:</p>
<p>Idea1: Special Occasion Sign Rental</p>
<p>$55 for 3-day and $65 for 5-day rental</p>
<p>Idea2: Used Book Store (ex: www.bookloverscafe.com)</p>
<p>Idea3: E-books (www.7dayebook.com)</p>
<p>Idea4: Tech Training (www.networksinc.co.uk/)</p>
<p>Idea5: Cookbook (www.chitterlings.com/)</p>
<p>III. Networking:</p>
<p>Meet Women Entrepreneurs in Your Neighborhood for Lunch</p>
<p>http://www.sba.gov/womeninbusiness/wnet.html</p>
<p>www.sbaonline.sba.gov/ca/sf/index.html</p>
<p>www.pd.dgs.ca.gov/smbus</p>
<p>www.dot.ca.gov/ha/bep</p>
<p>North San Diego Country Small Business Development Center</p>
<p>www.sandiegosmallbiz.com</p>
<p align="left">&nbsp;</p>
<p align="left">IV. Money Matthers</p>
<p align="left">&nbsp;</p>
<p align="left">Sorrento Growth Partners LP</p>
<p>Robert Jaffe Manager</p>
<p>4370 La Jolla Village Dr. Suite 1040</p>
<p>San Diego CA 92122</p>
<p>8584523100</p>
<p>cbarberio@sorrentoventures.com</p>
<p>Department of Education SBIR</p>
<p>Small Business Investment Company</p>
<p>1. Hamiton Apex Technology Ventrues</p>
<p>Richard Crosby</p>
<p>12526 High Bluff drive Suite 260</p>
<p>San Diego CA 92130</p>
<p>858 314 2350</p>
<p>rcrosby@hamiltonventures.com</p>
<p>Huntington Capital LP</p>
<p>Morgan Miller and Barny Wilson</p>
<p>11988 El Camino Real Suite 160</p>
<p>San Diego CA 92130</p>
<p>Shepherd Ventures LP</p>
<p>George C. Kennedy</p>
<p>12250 El Camino Real Suite 116</p>
<p>San Diego CA 92130</p>
<p>olga@shepherdventures.com</p>
<p align="center">&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flex.shallwelearn.com/blog/archives/75/feed</wfw:commentRss>
		</item>
		<item>
		<title>Install Tackle, the SCRUM Tracking Site</title>
		<link>http://www.flex.shallwelearn.com/blog/archives/68</link>
		<comments>http://www.flex.shallwelearn.com/blog/archives/68#comments</comments>
		<pubDate>Thu, 16 Aug 2007 16:18:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://www.flex.shallwelearn.com/blog/archives/68</guid>
		<description><![CDATA[


It took me about quite some effort to get Tackle setup, partly because I am not familiar with SQL Server 2005 Express and IIS. It&#8217;s been quite a learning experience to set Tackle up on my XP laptop. I documented the process in this Tackle Installation Guide.
You can also download the pdf version here.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2007/08/image050.jpg" title="Tackle"><img src="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2007/08/image050.thumbnail.jpg" alt="Tackle" /></a><span id="more-68"></span></p>
<p><a href="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2007/08/image050.jpg" title="Tackle"><br />
</a></p>
<p>It took me about quite some effort to get Tackle setup, partly because I am not familiar with SQL Server 2005 Express and IIS. It&#8217;s been quite a learning experience to set Tackle up on my XP laptop. I documented the process in this <a href="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2007/08/setupscrumtackle1.htm" title="Tackle Installation Guide">Tackle Installation Guide</a>.</p>
<p>You can also download the pdf version <a href="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2008/02/to-set-up-tackle.pdf" title="to-set-up-tackle.pdf">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flex.shallwelearn.com/blog/archives/68/feed</wfw:commentRss>
		</item>
		<item>
		<title>LearnJavaLog #1</title>
		<link>http://www.flex.shallwelearn.com/blog/archives/64</link>
		<comments>http://www.flex.shallwelearn.com/blog/archives/64#comments</comments>
		<pubDate>Wed, 15 Aug 2007 19:50:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.flex.shallwelearn.com/blog/archives/64</guid>
		<description><![CDATA[While porting QoS perl script to Java, I tried these following Java tips:
Access to Class Members: (Sun Tutorial), Reflection Java Array (Java2s page), HashMap (Example), enum: (Sun tutorial), Naming convention, Split Text, SNMP4J open source library ( JavaDoc  ), Type Conversion CharSequence Class, Regex remove duplicate white space, snmpwalk code using SNMP4j, also found [...]]]></description>
			<content:encoded><![CDATA[<p>While porting QoS perl script to Java, I tried these following Java tips:</p>
<p>Access to Class Members: (<a href="http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html">Sun Tutorial</a>), Reflection Java Array (<a href="http://www.java2s.com/Code/Java/Language-Basics/ArrayReflectioncreateinstance.htm">Java2s page</a>), HashMap (<a href="http://www.java-tips.org/java-se-tips/java.util/how-to-use-of-hashmap.html">Example</a>), enum: (<a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/enums.html">Sun tutorial</a>), <a href="http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html">Naming convention</a>, <a href="http://www.java2s.com/Code/Java/Regular-Expressions/JavaRegularExpressionSplittext.htm">Split Text</a>, SNMP4J open source library ( <a href="http://www.snmp4j.org/doc/index.html">JavaDoc </a> ), <a href="http://www.rgagnon.com/javadetails/java-0004.html">Type Conversion</a> <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/CharSequence.html">CharSequence Class</a>, Regex remove duplicate white space, <a href="http://lists.agentpp.org/pipermail/snmp4j/2004-November/000210.html">snmpwalk code</a> using SNMP4j, also found Steven R Brandt&#8217;s <a href="http://www.javaregex.com/RegexRecipesV1.pdf">Regex tutorial</a> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flex.shallwelearn.com/blog/archives/64/feed</wfw:commentRss>
		</item>
		<item>
		<title>Intro to SCRUM</title>
		<link>http://www.flex.shallwelearn.com/blog/archives/61</link>
		<comments>http://www.flex.shallwelearn.com/blog/archives/61#comments</comments>
		<pubDate>Sat, 11 Aug 2007 23:45:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://www.flex.shallwelearn.com/blog/archives/61</guid>
		<description><![CDATA[SCRUM is a agile software development method for project management and has become increasingly popular. This Dr. Dobb article, &#8220;SCRUM Meets CMMi&#8220;, poked my interest in applying SCRUM to my software development. 
Characteristics of Scrum
* A product backlog of prioritized work to be done;
* Completion of a fixed set of backlog items in a series [...]]]></description>
			<content:encoded><![CDATA[<p>SCRUM is a agile software development method for project management and has become increasingly popular. This Dr. Dobb article, &#8220;<a href="http://www.ddj.com/architect/201202684">SCRUM Meets CMMi</a>&#8220;, poked my interest in applying SCRUM to my software development. <span id="more-61"></span></p>
<p>Characteristics of Scrum</p>
<p>* A product backlog of prioritized work to be done;<br />
* Completion of a fixed set of backlog items in a series of short iterations or sprints;<br />
* A brief daily meeting or scrum, at which progress is explained, upcoming work is described and impediments are raised.<br />
* A brief sprint planning session in which the backlog items for the sprint will be defined.<br />
* A brief sprint retrospective, at which all team members reflect about the past sprint.</p>
<p>Scrum is facilitated by a ScrumMaster, whose primary job is to remove impediments to the ability of the team to deliver the sprint goal. The ScrumMaster is not the leader of the team (as they are self-organising) but acts as a buffer between the team and any distracting influences.</p>
<p><a href="http://www.codeplex.com/Tackle">Tackle</a> is a SCRUM tracking site, based on ASP.NET and SQL Server. I&#8217;ve installed SCRUM on my windows XP and created a <a href="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2007/08/SetupSCRUMTackle.htm">step-by-step installation guide</a>.</p>
<p>Scrum enables the creation of self-organizing teams by encouraging co-location of all team members, and verbal communication across all team members and disciplines that are involved in the project.</p>
<p><strong><br />
Solo Scrum</strong></p>
<p>Scrum is based on small teams. It enhances communication between team members. Nevertheless, there is a huge amount of software that is being developed by solo programmers. A software system being built by a single programmer can still benefit from some of the Scrum principles such as: a product backlog, a sprint backlog, a sprint and a sprint retrospective. Solo Scrum is an adapted version of Scrum for use by solo programmers.</p>
<p><strong>Scrum terminology</strong></p>
<p><strong>Scrum Master</strong>: The person or persons in charge of the tracking and the daily updates for the scrum (Equivalent to a Project Manager) also referred as the Scrum Lord.<br />
<strong>Pigs</strong>: Those who are committed to the tasks (Developers, B.A.s, DBAs, and testers).<br />
<strong>Chickens</strong>: Those who are involved but do not have tasks (Project Owners, Scrum Lords, etc&#8230;).<br />
<strong>Back log</strong>: The task to be completed.<br />
<strong>Sprint</strong>: A 4 to 6 week period in which a set of tasks are committed to and which are finished.<br />
<strong>Burn Down</strong>: Daily progress for a sprint over the sprint&#8217;s length.<br />
<strong>Scrum Toon</strong>: A cartoon used to explain scrum and its intricacies on teams where scrum is first implemented.</p>
<p>I was trying to get Tackle to work. Looked into SQL Server 2005 and SQL Server Management Studio, and Microsoft Visual Web Developer. All of which are now free, amazing. I was having a touch time creating SQL Server user and found this <a href="http://msdn2.microsoft.com/en-us/library/ms180944.aspx">sqlcmd page</a>. The sqlcmd utility is a commandline tool to interact with SQL Server 2005 Express. Played a bit with SQL Server Configuration Manager and Internet Information Service Manager. It&#8217;s been a while since I last played with ASP.NET, so I was pleasantly surprised to find the free MVWD IDE. Can&#8217;t wait to play some more <img src='http://www.flex.shallwelearn.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>It turned out that all my problems with SQL Server connection, after following Tackle installation instruction, stem from not having a mixed authentication mode. The SQL Server 2005 Express on my laptop was installed with default authentication mode: Windows Authentication. To set the SQL Server mode to mixed-mode (Windows Authentication and SQL Server Authentication), I followed this <a href="http://support.microsoft.com/kb/285097">MSDN page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flex.shallwelearn.com/blog/archives/61/feed</wfw:commentRss>
		</item>
		<item>
		<title>Port QoSExplorer from Perl to Java</title>
		<link>http://www.flex.shallwelearn.com/blog/archives/57</link>
		<comments>http://www.flex.shallwelearn.com/blog/archives/57#comments</comments>
		<pubDate>Mon, 06 Aug 2007 08:52:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.flex.shallwelearn.com/blog/archives/57</guid>
		<description><![CDATA[I want to port my QoSExplorer from Perl to Java. And this blog entry is an effort to document the lessons learned during the process.

While porting QoS perl script to Java, I tried these following Java tips:
Access to Class Members: (Sun Tutorial), Reflection Java Array (Java2s page), HashMap (Example), enum: (Sun tutorial), Naming convention, Split [...]]]></description>
			<content:encoded><![CDATA[<p>I want to port my QoSExplorer from Perl to Java. And this blog entry is an effort to document the lessons learned during the process.</p>
<p><span id="more-57"></span></p>
<p>While porting QoS perl script to Java, I tried these following Java tips:</p>
<p>Access to Class Members: (<a href="http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html">Sun Tutorial</a>), Reflection Java Array (<a href="http://www.java2s.com/Code/Java/Language-Basics/ArrayReflectioncreateinstance.htm">Java2s page</a>), HashMap (<a href="http://www.java-tips.org/java-se-tips/java.util/how-to-use-of-hashmap.html">Example</a>), enum: (<a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/enums.html">Sun tutorial</a>), <a href="http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html">Naming convention</a>, <a href="http://www.java2s.com/Code/Java/Regular-Expressions/JavaRegularExpressionSplittext.htm">Split Text</a>, SNMP4J open source library ( <a href="http://www.snmp4j.org/doc/index.html">JavaDoc </a> ), <a href="http://www.rgagnon.com/javadetails/java-0004.html">Type Conversion</a> <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/CharSequence.html">CharSequence Class</a>, Regex remove duplicate white space, <a href="http://lists.agentpp.org/pipermail/snmp4j/2004-November/000210.html">snmpwalk code</a> using SNMP4j, also found Steven R Brandt’s <a href="http://www.javaregex.com/RegexRecipesV1.pdf">Regex tutorial</a> .</p>
<p>Steps to Port Perl-based QosExplorer to Java</p>
<p><strong>1.Create a Enum type to represent Cisco mapping from an integer to a object type</strong><br />
<code><br />
my %hash_QosType = (<br />
'1' =&gt; "policymap",<br />
'2' =&gt; "classmap",<br />
'3' =&gt; "matchStatement",<br />
'4' =&gt; "queueing",<br />
'5' =&gt; "randomDetect",<br />
'6' =&gt; "trafficShaping",<br />
'7' =&gt; "police",<br />
'8' =&gt; "set"<br />
);</code></p>
<p>Helpful links: <a href="http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.jdt.doc.user/reference/ref-126b.htm">Eclipse Enum Wizard</a>, <a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/enums.html">Sun&#8217;s Enums page</a>, and <a href="http://mindprod.com/jgloss/final.html">final keyword</a>,</p>
<p><strong>2. Create an empty project using Eclipse.</strong></p>
<p><strong>3. Create a ssc.snmp.qos.Node class </strong><br />
<strong>4. Create a  ssc.snmp.qos.Interface class</strong></p>
<p><strong>5. Create a ssc.snmp.qos.policyMap class</strong></p>
<p><strong>6. Create a ssc.snmp.qos.ClassMap class</strong></p>
<p><strong>7. Create a ssc.snmp.qos.MIBParser class (main class to parse CiscoClassBasedQoSMIB.</strong></p>
<p>Need to create Java equivalent for the following previously global variables:<br />
<code><br />
my %hash_ifDescr;<br />
my %hash_obPolicyMap;<br />
my %hash_obClassMap;<br />
my %hash_obInterface;<br />
my %hash_cbQosPolicyIndex;<br />
my %hash_cbQosPolicyMapName;<br />
my %hash_cbQosCMName;<br />
my %hash_cbQosParentObjectsIndex;<br />
my %hash_cbQosConfigIndex;<br />
my $hash_RED_CM_mapping;<br />
my %hash_CM_PM_mapping;<br />
my %hash_QUE_CM_mapping;<br />
</code></p>
<p>java.util.HashMap(<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/HashMap.html">doc</a>, <a href="http://www.exampledepot.com/egs/java.util/coll_CreateMap.html">sample</a>) is the choice.</p>
<p>For functions<br />
<code><br />
sub print_hash {}<br />
sub print_hash_interface{}<br />
sub print_ClassMap {}<br />
sub print_PolicyMap {}<br />
sub print_hash_PolicyMap{}<br />
</code></p>
<p>I should be able to just use HashMap::toString function.</p>
<p>I will refer to this <a href="http://www.exampledepot.com/egs/java.util.regex/ParseLine.html">Java Almanac page</a> to implement the following functions to obtain a portion of an OID and the value:</p>
<p><code><br />
sub get_index{}<br />
sub get_val{}<br />
</code></p>
<p>For functions which require SNMP utilities, I have two options: calling an external SNMP agent(Net-SNMP to be exact) or using SNMP4j library.</p>
<p><code><br />
sub getREDTransmitBytes {}<br />
sub getCurrentQueueDepth {}<br />
sub getREDRandomDropBytes {}<br />
sub parseMIB {}<br />
sub SNMP_get {}<br />
sub SNMP_request {}<br />
sub SNMP_request_arr {}<br />
</code></p>
<p>Since this is a proof-of-concept (and short) task, I would call Net-SNMP utilities as external programs first, then in the future replace with SNMP4J (<a href="http://www.snmp4j.org/"> official site</a>, <a href="http://www.snmp4j.org/doc/overview-summary.html">official doc</a>, <a href="http://www.javalobby.org/java/forums/c5266.html">sample1</a>, <a href="http://www.snmp4j.org/doc/org/snmp4j/Snmp.html">sameple2</a>, <a href="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2007/08/cablemodemsnmpagent.txt" title="CableModemSNMPAgent.java">CableModemSNMPAgent.java</a>, <a href="http://www.flex.shallwelearn.com/blog/wp-content/uploads/2007/08/cablemodemsnmpagentimpl.txt" title="CableModemSNMPAgentImpl.java">CableModemSNMPAgentImpl.java</a> ).</p>
<p>I first tried calling snmpget.exe from Java, but the program hanged at the line calling snmpget.exe just would not return. I decided to give SNMP4J a quick try.  I downloaded snmp4j-1.8.2 from snmp4j site and then include snmp4j-1.8.2\snmp4j\dist\lib\SNMP4j.jar to my QoSExplorer project&#8217;s library.  Quite happily, I created a snippet of code to use SNMP4j and it worked!!</p>
<p><code><br />
package ssc.snmp.qos;</code></p>
<p>import java.io.IOException;</p>
<p>import org.snmp4j.*;<br />
import org.snmp4j.event.*;<br />
import org.snmp4j.mp.*;<br />
import org.snmp4j.smi.*;<br />
import org.snmp4j.transport.*;</p>
<p>public class QoSExplorer {</p>
<p>public static void main(String[] args) throws IOException {</p>
<p>TransportMapping transport = new DefaultUdpTransportMapping();<br />
Snmp snmp = new Snmp(transport);</p>
<p>// setting up target<br />
CommunityTarget target = new CommunityTarget();</p>
<p>target.setCommunity(new OctetString(&#8221;cndl&#8221;));<br />
Address targetAddress = GenericAddress.parse(&#8221;udp:192.168.15.1/161&#8243;);<br />
target.setAddress(targetAddress);<br />
target.setRetries(2);<br />
target.setTimeout(1500);<br />
target.setVersion(SnmpConstants.version1);<br />
transport.listen();</p>
<p>// creating PDU<br />
PDU pdu = new PDU();<br />
pdu.add(new VariableBinding(new OID(new int[] {1,3,6,1,2,1,1,1})));<br />
pdu.setType(PDU.GETNEXT);<br />
ResponseEvent event = snmp.send(pdu,target, transport); // use synchronous event</p>
<p>System.out.println(&#8221;Received response PDU is: &#8220;+event.getResponse());</p>
<p>}</p>
<p>}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flex.shallwelearn.com/blog/archives/57/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
