<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>kBLOG</title>
	<atom:link href="http://blog.amr-gawish.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.amr-gawish.com</link>
	<description>All things about Life, Oracle Middleware and Technology</description>
	<lastBuildDate>Sun, 19 May 2013 22:07:12 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Starting a SOA processes by opening the light on your living room! Part-0</title>
		<link>http://blog.amr-gawish.com/7862/starting-a-soa-processes-by-opening-the-light-on-your-living-room-part-0/</link>
		<comments>http://blog.amr-gawish.com/7862/starting-a-soa-processes-by-opening-the-light-on-your-living-room-part-0/#comments</comments>
		<pubDate>Sun, 19 May 2013 21:39:31 +0000</pubDate>
		<dc:creator>agawish</dc:creator>
				<category><![CDATA[arduino]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://blog.amr-gawish.com/?p=7862</guid>
		<description><![CDATA[Intro One thing is amazing about the SOA suite, and specifically a composite application, is the ability to start the processes by event or triggers. Triggers like creating a file system in a specific folder, or a new JMS message &#8230; <a href="http://blog.amr-gawish.com/7862/starting-a-soa-processes-by-opening-the-light-on-your-living-room-part-0/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<h3>Intro</h3>
<p>One thing is amazing about the SOA suite, and specifically a composite application, is the ability to start the processes by event or triggers.</p>
<p>Triggers like creating a file system in a specific folder, or a new JMS message in a queue, or a new record in a database or even a new mail message in a specific mailbox.</p>
<p>But why stopping at this stage, why not to use the internet of things to start integrate with the real world!!!</p>
<p>Things like starting the process once person switched on or off the light in the living room or even start the process when someone enters the room, or even more better when the room tempreture increases above certain level.<br />
The ability to integrate this kind of amazing cool features and make use of this inside the SOA suite specifically and oracle middleware at general is amazing, and here the sky is only the beginning.</p>
<h3>Part-0</h3>
<p>In this part I won&#8217;t talk about how to do it just yet, I&#8217;ll talk about what components do you need in order to be able to do it and how to be able to imagine the whole idea.</p>
<h3>What will you need!</h3>
<h4>Hardware</h4>
<ul>
<li><span style="line-height: 13px;">Arduino board</span></li>
<li>Breadboard</li>
<li>Miniature photocell</li>
<li>1 10k Ohm resistor</li>
<li>1 330 Ohm resistor (optional)</li>
<li>6 jumper wires (1 of them are optional)</li>
<li>1 Yellow LED (optional)</li>
<li>USB Cable from the Arduino to your computer</li>
</ul>
<h4>Software</h4>
<ul>
<li><span style="line-height: 13px;">Arduino IDE</span></li>
<li>Python</li>
<li><a href="http://pyserial.sourceforge.net/">PySerial</a> library in Python</li>
<li>JDeveloper</li>
<li>SOA Suite</li>
</ul>
<h3>How!!!</h3>
<p>Well, that&#8217;s the fun part, it&#8217;s not really hard.</p>
<p>First you have to assemble a sketch on Arduino in order to capture when the lights is off or on inside a room (using the photocell) and other stuff from the hardware section.</p>
<p>Next we will program that sketch to send this signal using the USB cable to the host machine (That&#8217;s your PC or Mac!)</p>
<p>Then we will listen to this from python by using pyserial -We can use java but java requires a lot harder configuration than python, so I went with python-</p>
<p>Make python create a filesystem inside a specific folder that SOA process can listen to.</p>
<p>Make SOA listen to this filesystem.</p>
<p>and VOALA!!!</p>
<h3>Huh!!!</h3>
<p>Let&#8217;s slow down, in the next following articles I&#8217;ll show exactly how to do it in a great details, so if you didn&#8217;t get what I wrote above, don&#8217;t worry it&#8217;ll be greatly explained in the next following articles.</p>
<p>But for the sake of this article, I&#8217;ll show you the Arduino board that will make this trigger works!</p>
<div class="wp-caption aligncenter" style="width: 510px"><img class="  " alt="" src="http://blog.amr-gawish.com/wp-content/uploads/2013/05/IMG_20130519_221218.jpg" width="500" height="400" /><p class="wp-caption-text">Isn&#8217;t it beautiful!</p></div>
<p>Well, see you in next posts (not too far in the future -I hope!-)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amr-gawish.com/7862/starting-a-soa-processes-by-opening-the-light-on-your-living-room-part-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mdlwr Is Back, With Performance and New Articles</title>
		<link>http://blog.amr-gawish.com/7856/mdlwr-is-back-with-performance-and-new-articles/</link>
		<comments>http://blog.amr-gawish.com/7856/mdlwr-is-back-with-performance-and-new-articles/#comments</comments>
		<pubDate>Sun, 17 Mar 2013 22:35:31 +0000</pubDate>
		<dc:creator>agawish</dc:creator>
				<category><![CDATA[K]]></category>

		<guid isPermaLink="false">http://blog.amr-gawish.com/?p=7856</guid>
		<description><![CDATA[I’ve been so busy working with multiple projects in Saudi Arabia and Egypt, and I also joined infoMENTUM in United Kingdom, but now I’m back and I have loads and loads of articles to write. Also as some of you may know posterous is &#8230; <a href="http://blog.amr-gawish.com/7856/mdlwr-is-back-with-performance-and-new-articles/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I’ve been so busy working with multiple projects in Saudi Arabia and Egypt, and I also joined <a href="http://www.infomentum.co.ul/">infoMENTUM</a> in United Kingdom, but now I’m back and I have loads and loads of articles to write.</p>
<p>Also as some of you may know <a href="http://posterous.com/">posterous</a> is closing up their service, so I’ve transferred the blog to <a href="http://octopress.org/">octopress</a> so some of the comments may be lost in the process, apologies to the people who commented on my previous threads.</p>
<p>So stay tunes <img src='http://blog.amr-gawish.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amr-gawish.com/7856/mdlwr-is-back-with-performance-and-new-articles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The ultimate guide for beautiful skinning in ADF and WebCenter &#8211; Using SASS</title>
		<link>http://blog.amr-gawish.com/7852/the-ultimate-guide-for-beautiful-skinning-in-adf-and-webcenter-using-sass/</link>
		<comments>http://blog.amr-gawish.com/7852/the-ultimate-guide-for-beautiful-skinning-in-adf-and-webcenter-using-sass/#comments</comments>
		<pubDate>Mon, 21 May 2012 08:54:59 +0000</pubDate>
		<dc:creator>agawish</dc:creator>
				<category><![CDATA[ADF]]></category>
		<category><![CDATA[Webcenter]]></category>
		<category><![CDATA[sass]]></category>
		<category><![CDATA[skinning]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://blog.amr-gawish.com/?p=7852</guid>
		<description><![CDATA[This is a cross post with mdlwr blog &#160; Prologue: Long time no posts, I&#8217;ve been busy coding in the last couple of months, and as the life always do, I really didn&#8217;t have much time writting posts, instead I &#8230; <a href="http://blog.amr-gawish.com/7852/the-ultimate-guide-for-beautiful-skinning-in-adf-and-webcenter-using-sass/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>This is a cross post with <a title="The ultimate guide for beautiful skinning in ADF and WebCenter - Using SASS" href="http://mdlwr.amr-gawish.com/the-ultimate-guide-for-beautiful-skinning-in" target="_blank">mdlwr </a>blog</p>
<header>
<div></div>
</header>
<p>&nbsp;</p>
<div>
<div>
<p><img class="aligncenter" src="http://amr-gawish.com/img/sass.jpg" alt="ADF &amp; SASS" /></p>
<p><strong>Prologue:</strong></p>
<p>Long time no posts, I&#8217;ve been busy coding in the last couple of months, and as the life always do, I really didn&#8217;t have much time writting posts, instead I was busy rocking ADF and WebCenter projects.</p>
<p><strong>The Problem:</strong></p>
<p>As all of you ADFers know, skinning in ADF has been pain in the butt, and as Skinning and style is a crucial part for any ADF application, there has to be some way in order to make this work easier.</p>
<p>So Oracle -thankfully- made JDeveloper 11.1.2.x and/or the ADF Skinning application in order to make it easier for ADF developers to write skins effectively with all electors, images editor, preview pane and all this good stuff.</p>
<p>Did it become easier?</p>
<p>No -well a little bit, but not to that extent-, as the selectors of ADF is overwhelming, and as you needed to structure your skin in a prober way but instead you are forced to stay with the one skinning file, so you end up having a css file that has not less than 800 line of styles without comments ofcourse!!!</p>
<p>If you interested in how to make this easier, and if you already know css well and not afraid to learn a new couple of things, then keep reading, you will enjoy it&#8230;I guarantee</p>
<p><a title="The ultimate guide for beautiful skinning in ADF and WebCenter - Using SASS" href="http://mdlwr.amr-gawish.com/the-ultimate-guide-for-beautiful-skinning-in"><strong>Continue Reading</strong></a></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.amr-gawish.com/7852/the-ultimate-guide-for-beautiful-skinning-in-adf-and-webcenter-using-sass/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using Groovy to Retrieve Current logged in user name</title>
		<link>http://blog.amr-gawish.com/7842/using-groovy-to-retrieve-current-logged-in-user-name/</link>
		<comments>http://blog.amr-gawish.com/7842/using-groovy-to-retrieve-current-logged-in-user-name/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 08:23:55 +0000</pubDate>
		<dc:creator>agawish</dc:creator>
				<category><![CDATA[ADF]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[business component]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[jdeveloper]]></category>

		<guid isPermaLink="false">http://blog.amr-gawish.com/?p=7842</guid>
		<description><![CDATA[This is a cross post with mdlwr blog One tip I found Useful, and I didn&#8217;t find enough resources talking about it, is how to populate a value of Entity Attribute or Binding Value with the current logged in user &#8230; <a href="http://blog.amr-gawish.com/7842/using-groovy-to-retrieve-current-logged-in-user-name/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>This is a cross post with <a title="Using Groovy to Retrieve Current logged in user name" href="http://blog.amr-gawish.com/7842/using-groovy-to-retrieve-current-logged-in-user-name/" target="_blank">mdlwr </a>blog</p>
<p><a href="http://blog.amr-gawish.com/wp-content/uploads/2011/12/logs.jpg"><img class="aligncenter size-medium wp-image-7843" title="Logged In User" src="http://blog.amr-gawish.com/wp-content/uploads/2011/12/logs-300x186.jpg" alt="" width="300" height="186" /></a></p>
<p>One tip I found Useful, and I didn&#8217;t find enough resources talking about it, is how to populate a value of Entity Attribute or Binding Value with the current logged in user using Groovy</p>
<p>&nbsp;</p>
<p>Simply use this:<br />
<code>adf.context.securityContext.getUserPrincipal().getName()</code><br />
Piece of cake <img src='http://blog.amr-gawish.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amr-gawish.com/7842/using-groovy-to-retrieve-current-logged-in-user-name/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle JDeveloper Git Plugin</title>
		<link>http://blog.amr-gawish.com/7839/oracle-jdeveloper-git-plugin/</link>
		<comments>http://blog.amr-gawish.com/7839/oracle-jdeveloper-git-plugin/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 23:36:33 +0000</pubDate>
		<dc:creator>agawish</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[jdeveloper]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://blog.amr-gawish.com/?p=7839</guid>
		<description><![CDATA[This is a cross post with mdlwr blog So I love git, and I Love GitHub and since I use them both, and I use JDeveloper I though of developing a plugin for JDeveloper to integrate with Git and GitHub eventually Here is &#8230; <a href="http://blog.amr-gawish.com/7839/oracle-jdeveloper-git-plugin/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div data-posterous-file-list="%5B%7B%22large%22%3A%22http%3A%2F%2Fgetfile6.posterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-12-11%2FEymecFpiGiIbtpxIjqixyCgyjldFEgjEsrsjFnicBabHlgzvejnmIkpdrsnE%2Foracle-jdev-logo.gif%22%2C%22originalWidth%22%3A%22169%22%2C%22largeWidth%22%3A%22169%22%2C%22thumb%22%3A%22http%3A%2F%2Fgetfile8.posterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-12-11%2FEymecFpiGiIbtpxIjqixyCgyjldFEgjEsrsjFnicBabHlgzvejnmIkpdrsnE%2Foracle-jdev-logo.gif.thumb.gif%22%2C%22originalHeight%22%3A%2280%22%2C%22largeHeight%22%3A%2280%22%2C%22thumbWidth%22%3A%2236%22%2C%22height%22%3A%2280%22%2C%22main%22%3A%22http%3A%2F%2Fgetfile6.posterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-12-11%2FEymecFpiGiIbtpxIjqixyCgyjldFEgjEsrsjFnicBabHlgzvejnmIkpdrsnE%2Foracle-jdev-logo.gif%22%2C%22thumbHeight%22%3A%2236%22%2C%22originalSize%22%3A%221%22%2C%22original%22%3A%22http%3A%2F%2Fgetfile6.posterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-12-11%2FEymecFpiGiIbtpxIjqixyCgyjldFEgjEsrsjFnicBabHlgzvejnmIkpdrsnE%2Foracle-jdev-logo.gif%22%2C%22width%22%3A%22169%22%7D%5D" data-posterous-image-gallery-initialized="true" data-posterous-image-gallery="true" data-posterous-options="%7B%22zipFile%22%3Anull%2C%22zipFileSize%22%3Anull%2C%22external_url%22%3Anull%2C%22showDownload%22%3Atrue%2C%22url_slug%22%3A%22jdeveloper-git-plugin%22%7D">This is a cross post with <a title="mdlwr Blog" href="http://mdlwr.amr-gawish.com/jdeveloper-git-plugin" target="_blank">mdlwr</a> blog</div>
<div data-posterous-file-list="%5B%7B%22large%22%3A%22http%3A%2F%2Fgetfile6.posterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-12-11%2FEymecFpiGiIbtpxIjqixyCgyjldFEgjEsrsjFnicBabHlgzvejnmIkpdrsnE%2Foracle-jdev-logo.gif%22%2C%22originalWidth%22%3A%22169%22%2C%22largeWidth%22%3A%22169%22%2C%22thumb%22%3A%22http%3A%2F%2Fgetfile8.posterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-12-11%2FEymecFpiGiIbtpxIjqixyCgyjldFEgjEsrsjFnicBabHlgzvejnmIkpdrsnE%2Foracle-jdev-logo.gif.thumb.gif%22%2C%22originalHeight%22%3A%2280%22%2C%22largeHeight%22%3A%2280%22%2C%22thumbWidth%22%3A%2236%22%2C%22height%22%3A%2280%22%2C%22main%22%3A%22http%3A%2F%2Fgetfile6.posterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-12-11%2FEymecFpiGiIbtpxIjqixyCgyjldFEgjEsrsjFnicBabHlgzvejnmIkpdrsnE%2Foracle-jdev-logo.gif%22%2C%22thumbHeight%22%3A%2236%22%2C%22originalSize%22%3A%221%22%2C%22original%22%3A%22http%3A%2F%2Fgetfile6.posterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-12-11%2FEymecFpiGiIbtpxIjqixyCgyjldFEgjEsrsjFnicBabHlgzvejnmIkpdrsnE%2Foracle-jdev-logo.gif%22%2C%22width%22%3A%22169%22%7D%5D" data-posterous-image-gallery-initialized="true" data-posterous-image-gallery="true" data-posterous-options="%7B%22zipFile%22%3Anull%2C%22zipFileSize%22%3Anull%2C%22external_url%22%3Anull%2C%22showDownload%22%3Atrue%2C%22url_slug%22%3A%22jdeveloper-git-plugin%22%7D"><img src="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-12-11/EymecFpiGiIbtpxIjqixyCgyjldFEgjEsrsjFnicBabHlgzvejnmIkpdrsnE/oracle-jdev-logo.gif" alt="Oracle-jdev-logo" width="169" height="80" /></div>
<div data-posterous-file-list="%5B%7B%22large%22%3A%22http%3A%2F%2Fgetfile1.posterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-12-11%2FqHrFEntDbmEdlrmwqnodvJFbbgovxdHxDvcibpnJDoAyHBmbJtgHAADsAomH%2Fgit-logo_3.png%22%2C%22originalWidth%22%3A%2297%22%2C%22largeWidth%22%3A%2297%22%2C%22thumb%22%3A%22http%3A%2F%2Fgetfile7.posterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-12-11%2FqHrFEntDbmEdlrmwqnodvJFbbgovxdHxDvcibpnJDoAyHBmbJtgHAADsAomH%2Fgit-logo_3.png.thumb.png%22%2C%22originalHeight%22%3A%22188%22%2C%22largeHeight%22%3A%22188%22%2C%22thumbWidth%22%3A%2236%22%2C%22height%22%3A%22188%22%2C%22main%22%3A%22http%3A%2F%2Fgetfile1.posterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-12-11%2FqHrFEntDbmEdlrmwqnodvJFbbgovxdHxDvcibpnJDoAyHBmbJtgHAADsAomH%2Fgit-logo_3.png%22%2C%22thumbHeight%22%3A%2236%22%2C%22originalSize%22%3A%221%22%2C%22original%22%3A%22http%3A%2F%2Fgetfile1.posterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-12-11%2FqHrFEntDbmEdlrmwqnodvJFbbgovxdHxDvcibpnJDoAyHBmbJtgHAADsAomH%2Fgit-logo_3.png%22%2C%22width%22%3A%2297%22%7D%5D" data-posterous-image-gallery-initialized="true" data-posterous-image-gallery="true" data-posterous-options="%7B%22zipFile%22%3Anull%2C%22zipFileSize%22%3Anull%2C%22external_url%22%3Anull%2C%22showDownload%22%3Atrue%2C%22url_slug%22%3A%22jdeveloper-git-plugin%22%7D"><img src="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-12-11/qHrFEntDbmEdlrmwqnodvJFbbgovxdHxDvcibpnJDoAyHBmbJtgHAADsAomH/git-logo_3.png" alt="Git-logo_3" width="97" height="188" /></div>
<p>So I love <a title="Git" href="http://git-scm.com/" target="_blank">git</a>, and I Love <a title="Git Hub" href="http://mdlwr.amr-gawish.com/https//github.com/" target="_blank">GitHub</a> and since I use them both, and I use JDeveloper I though of developing a plugin for JDeveloper to integrate with Git and GitHub eventually</p>
<p>Here is my Attempt of doing so:</p>
<p><span id="more-7839"></span>I Introduce to you: JDeveloper Git Extension 1.0.0 Beta Version which works on JDeveloper 11.1.1.5 JDeveloper (Will be working on migrating it to 11.1.2.x soon)</p>
<p>The project is divided into different phases:</p>
<p>Phase #1:  Cloning Git Repository into JDeveloper Project (Completed)</p>
<p>Phase #2:  Provide the Files Action and overlay (To push, pull, commit, checkout, add to ignore list and more ..)</p>
<p>Phase #3:  Provide an Integration with GitHub</p>
<p>&nbsp;</p>
<p>So Far I&#8217;ve finished Phase #1</p>
<p>It&#8217;s simple, you simply choose a project &gt; New &gt; General &gt; Projects &gt; Clone Git Repository</p>
<p>And enter the URL of the Git Repository and the select the Project you want to Install the files to</p>
<p>Once you finish, you should recieve a Success Message telling you everything is Good for, a simple refresh to your project you can see all the new files exported from Git.</p>
<p>If you tried to clone to a project that has been already cloned an Error message will popup telling you, you shouldn&#8217;t do that!</p>
<p>Simple isn&#8217;t it&#8230;</p>
<p>Check out the <a title="JDeveloper Git Plugin Photos" href="http://mdlwr.amr-gawish.com/jdeveloper-git-plugin" target="_blank">Photos</a>, and for any one who dares enough to try it download it from <a title="Download JDeveloper Git Extension" href="http://www.amr-gawish.com/JDeveloper%20Git%20Extension.zip" target="_blank">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amr-gawish.com/7839/oracle-jdeveloper-git-plugin/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Creating Utilities to manipulate users in #Weblogic using #JMX and #MBeans</title>
		<link>http://blog.amr-gawish.com/7836/creating-utilities-to-manipulate-users-in-weblogic-using-jmx-and-mbeans/</link>
		<comments>http://blog.amr-gawish.com/7836/creating-utilities-to-manipulate-users-in-weblogic-using-jmx-and-mbeans/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 18:46:32 +0000</pubDate>
		<dc:creator>agawish</dc:creator>
				<category><![CDATA[JMX]]></category>
		<category><![CDATA[Weblogic]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jmx]]></category>
		<category><![CDATA[weblogic]]></category>

		<guid isPermaLink="false">http://blog.amr-gawish.com/?p=7836</guid>
		<description><![CDATA[This is a cross post from mdlwr Intro First I&#8217;d like to apologies for the big absent on my side as I was very busy traveling to KSA for a new freelancing Client, but anyway I hope this article make &#8230; <a href="http://blog.amr-gawish.com/7836/creating-utilities-to-manipulate-users-in-weblogic-using-jmx-and-mbeans/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>This is a cross post from <a href="http://mdlwr.amr-gawish.com" title="mdlwr">mdlwr</a></p>
<h3>Intro</h3>
<p>First I&#8217;d like to apologies for the big absent on my side as I was very busy traveling to KSA for a new freelancing Client, but anyway I hope this article make you forgive me <img src='http://blog.amr-gawish.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Weblogic is a great Application Server, and the one you can count on for your heavy industrial deployment, load balancing, high availability and clustering.</p>
<p>Not only that but it comes with a great scripting tool <strong>WLST</strong> and the standardization of accessing its MBeans through JMX</p>
<p>There were an old school approach which would allow you to access MBeans through Weblogic APIs itself like so</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">weblogic.management.Helper</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">weblogic.management.MBeanHome</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> UseHelper <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #003399;">String</span> url <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;t3://localhost:7001&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">String</span> username <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;weblogic&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">String</span> password <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;weblogic&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">String</span> msName <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;MS1&quot;</span><span style="color: #339933;">;</span>
        MBeanHome localHome <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            localHome <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>MBeanHome<span style="color: #009900;">&#41;</span>Helper.<span style="color: #006633;">getMBeanHome</span><span style="color: #009900;">&#40;</span>username, password, url,
                       msName<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Local MBeanHome for&quot;</span> <span style="color: #339933;">+</span> localHome <span style="color: #339933;">+</span>
                       <span style="color: #0000ff;">&quot; found using the Helper class&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IllegalArgumentException</span> iae<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Illegal Argument Exception: &quot;</span> <span style="color: #339933;">+</span> iae<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>But as you write this in your JDeveloper or favorite Editor, you will realize that this has been deprecated!</p>
<p>So the better alternative, and the hard way around it is to use JMX</p>
<h3>The Definition</h3>
<p>JMX(Java Management Extension) is a technology that represents a universal, open technology for management, and monitoring applications, system objects, devices (e. g. printers) and service oriented networks. Those resources are represented by objects called MBeans (for Managed Beans)</p>
<p>So Enough with the definitions, lets get to work.</p>
<h3>The Utility Class</h3>
<p>What we want here is accessing Weblogic MBeans to get Users for DefaultAuthenticator -Default authenticator on Weblogic and Get Users, Groups and doing some manipulation like adding, editing, deleting and reset password for users in Weblogic Default Authenticator -You can edit it to suit your need but remember if the authenticator is read only you will get exceptions trying to alter users.</p>
<p>So lets get Started, first by checking <a title="Weblogic MBeans Server" href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/core/index.html" target="_blank">MBeans Reference</a> We will realize that in Order to access the Users we have to go this path:</p>
<ul>
<li>Configuration MBeans
<ul>
<li>Domain Configuration MBeans
<ul>
<li>Security Configuration MBean
<ul>
<li>Default Realm <em>(Attribute of Security Configuration MBean and an instance of RealmMBean)</em>
<ul>
<li>AuthenticationProviders <em>(Attribute of Default Realm and an instance of AuthenticationProviderMBean[])</em></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>So How do we do that, let&#8217;s start write some code</p>
<h3>The Initialization Code</h3>
<p>We will start my making a connection to Weblogic Server instance, and then drill down to AuthenticationProviderMBean(s)<br />
Remember this is a utilities Class, that&#8217;s why all of my methods will be static</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/****** DEFINING SOME STATIC VARIABLES ********/</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">String</span> JNDI_FACTORY <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;weblogic.jndi.WLInitialContextFactory&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">String</span> MBEAN_SERVER <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;weblogic.management.mbeanservers.domainruntime&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">String</span> JNDI_ROOT <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;/jndi/&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">String</span> DEFAULT_PROTOCOL <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;t3&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">String</span> PROTOCOL_PROVIDER_PACKAGES <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;weblogic.management.remote&quot;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//This how we get our DomainRuntimeService, this is where DomainConfigurationMBeans exists</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">String</span> DOMAIN_MBEAN_NAME <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;com.bea:Name=DomainRuntimeService,Type=weblogic.management.mbeanservers.domainruntime.DomainRuntimeServiceMBean&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> MBeanServerConnection connection<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> ObjectName defaultAuthenticator<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> ObjectName<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> authenticationProviders<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">String</span> authenticatorName<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;DefaultAuthenticator&quot;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Okay, now we defined it, let&#8217;s drill down to our AuthenticationProviders</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">static</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #003399;">String</span> host <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;127.0.0.1&quot;</span><span style="color: #339933;">;</span>
            <span style="color: #003399;">String</span> port <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;7101&quot;</span><span style="color: #339933;">;</span>
            <span style="color: #003399;">String</span> username <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;weblogic&quot;</span><span style="color: #339933;">;</span>
            <span style="color: #003399;">String</span> password <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;weblogic1&quot;</span><span style="color: #339933;">;</span>
            <span style="color: #003399;">Hashtable</span> h <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Hashtable</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            JMXServiceURL serviceURL<span style="color: #339933;">;</span>
&nbsp;
            serviceURL <span style="color: #339933;">=</span>
                    <span style="color: #000000; font-weight: bold;">new</span> JMXServiceURL<span style="color: #009900;">&#40;</span>DEFAULT_PROTOCOL, host, <span style="color: #003399;">Integer</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span>port<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">intValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>,
                                      <span style="color: #0000ff;">&quot;/jndi/weblogic.management.mbeanservers.domainruntime&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            h.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;java.naming.security.principal&quot;</span>, username<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            h.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;java.naming.security.credentials&quot;</span>, password<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            h.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;jmx.remote.protocol.provider.pkgs&quot;</span>,
                  <span style="color: #0000ff;">&quot;weblogic.management.remote&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">//Creating a JMXConnector to connect to JMX</span>
            JMXConnector connector <span style="color: #339933;">=</span>
                JMXConnectorFactory.<span style="color: #006633;">connect</span><span style="color: #009900;">&#40;</span>serviceURL, h<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            connection <span style="color: #339933;">=</span> connector.<span style="color: #006633;">getMBeanServerConnection</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">/****
              We Get Objects by creating ObjectName with it's Qualified name.
              The constructor take a String of the full Qualified name of the MBean
              We then use connection to get Attribute out of this ObjectName but specifying a String of
              this Attribute
              *****/</span>
&nbsp;
            ObjectName configurationMBeans<span style="color: #339933;">=</span>
                <span style="color: #000000; font-weight: bold;">new</span> ObjectName<span style="color: #009900;">&#40;</span>DOMAIN_MBEAN_NAME<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            ObjectName domain <span style="color: #339933;">=</span>
                <span style="color: #009900;">&#40;</span>ObjectName<span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">getAttribute</span><span style="color: #009900;">&#40;</span>configurationMBeans, <span style="color: #0000ff;">&quot;DomainConfiguration&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            ObjectName security <span style="color: #339933;">=</span>
                <span style="color: #009900;">&#40;</span>ObjectName<span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">getAttribute</span><span style="color: #009900;">&#40;</span>domain, <span style="color: #0000ff;">&quot;SecurityConfiguration&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            ObjectName realm <span style="color: #339933;">=</span>
                <span style="color: #009900;">&#40;</span>ObjectName<span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">getAttribute</span><span style="color: #009900;">&#40;</span>security, <span style="color: #0000ff;">&quot;DefaultRealm&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            authenticationProviders <span style="color: #339933;">=</span>
                    <span style="color: #009900;">&#40;</span>ObjectName<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">getAttribute</span><span style="color: #009900;">&#40;</span>realm,
                                                          <span style="color: #0000ff;">&quot;AuthenticationProviders&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> authenticationProviders.<span style="color: #006633;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #003399;">String</span> name <span style="color: #339933;">=</span>
                    <span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">getAttribute</span><span style="color: #009900;">&#40;</span>authenticationProviders<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>,
                                                    <span style="color: #0000ff;">&quot;Name&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>name.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span>authenticatorName<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
                    defaultAuthenticator <span style="color: #339933;">=</span> authenticationProviders<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">RuntimeException</span><span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>WOHOO you&#8217;ve done a great step, you now have a reference to the defaultAuthenticator MBean, now you can make operations on users and Groups</p>
<h3>Deep inside DefaultAuthenticatorMBean</h3>
<p>If you looked at the reference of DefaultAuthenticatorMBean which is a subclass of AuthenticationProviderMBean you will realize the following:</p>
<p><strong>Attributes</strong></p>
<ul>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#ControlFlag">ControlFlag</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#Description">Description</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#EnableGroupMembershipLookupHierarchyCaching">EnableGroupMembershipLookupHierarchyCaching</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#GroupHierarchyCacheTTL">GroupHierarchyCacheTTL</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#GroupMembershipSearching">GroupMembershipSearching</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#KeepAliveEnabled">KeepAliveEnabled</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#MaxGroupHierarchiesInCache">MaxGroupHierarchiesInCache</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#MaxGroupMembershipSearchLevel">MaxGroupMembershipSearchLevel</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#MinimumPasswordLength">MinimumPasswordLength</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#Name">Name</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#PasswordDigestEnabled">PasswordDigestEnabled</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#PropagateCauseForLoginException">PropagateCauseForLoginException</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#ProviderClassName">ProviderClassName</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#SupportedExportConstraints">SupportedExportConstraints</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#SupportedExportFormats">SupportedExportFormats</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#SupportedImportConstraints">SupportedImportConstraints</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#SupportedImportFormats">SupportedImportFormats</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#UseRetrievedUserNameAsPrincipal">UseRetrievedUserNameAsPrincipal</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#Version">Version</a></li>
</ul>
<p><strong>Operations</strong></p>
<ul>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#addMemberToGroup">addMemberToGroup</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#advance">advance</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#changeUserPassword">changeUserPassword</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#close">close</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#createGroup">createGroup</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#createUser">createUser</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#exportData">exportData</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#getCurrentName">getCurrentName</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#getGroupDescription">getGroupDescription</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#getUserDescription">getUserDescription</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#groupExists">groupExists</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#haveCurrent">haveCurrent</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#importData">importData</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#isMember">isMember</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#isSet">isSet</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#listAllUsersInGroup">listAllUsersInGroup</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#listGroupMembers">listGroupMembers</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#listGroups">listGroups</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#listMemberGroups">listMemberGroups</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#listUsers">listUsers</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#removeGroup">removeGroup</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#removeMemberFromGroup">removeMemberFromGroup</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#removeUser">removeUser</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#resetUserPassword">resetUserPassword</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#setGroupDescription">setGroupDescription</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#setUserDescription">setUserDescription</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#unSet">unSet</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#userExists">userExists</a></li>
<li><a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13951/mbeans/DefaultAuthenticatorMBean.html?skipReload=true#wls_getDisplayName">wls_getDisplayName</a></li>
</ul>
<div>Now I guess you know what do we need to do right, Excellent so lets get it done</div>
<h3>The User/Group Manipulation</h3>

<div class="wp_syntax"><table><tr><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">boolean</span> addUser<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> username, <span style="color: #003399;">String</span> psw, <span style="color: #003399;">String</span> desc<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #008000; font-style: italic; font-weight: bold;">/** As of connection.getAttribute you can use connection.invoke to invoke an action
                It Takes ObjectName, String OperationName, Object[] Parameters, and String[] Parameters
                Definition
            **/</span>
            connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;createUser&quot;</span>,
                              <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> username, psw, desc <span style="color: #009900;">&#125;</span>,
                              <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span>,
                                             <span style="color: #0000ff;">&quot;java.lang.String&quot;</span>,
                                             <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
            <span style="color: #666666; font-style: italic;">//throw new RuntimeException(e);</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">boolean</span> removeUser<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> username<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>username.<span style="color: #006633;">equalsIgnoreCase</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;weblogic&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;removeUser&quot;</span>,
                                  <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> username <span style="color: #009900;">&#125;</span>,
                                  <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">boolean</span> resetUserPassword<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> username,
                                            <span style="color: #003399;">String</span> newPassword<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>username.<span style="color: #006633;">equalsIgnoreCase</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;weblogic&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;resetUserPassword&quot;</span>,
                                  <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> username, newPassword <span style="color: #009900;">&#125;</span>,
                                  <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span>,
                                                 <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
           <span style="color: #008000; font-style: italic; font-weight: bold;">/** As of connection.getAttribute you can use connection.invoke to invoke an action
                It Takes ObjectName, String OperationName, Object[] Parameters, and String[] Parameters
                Definition, It returns an Object we cast it to Boolean, you can know all about function from 
                MBeans Reference
            **/</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">boolean</span> isUserExists<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> currentUser<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">RuntimeException</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000066; font-weight: bold;">boolean</span> userExists <span style="color: #339933;">=</span>
                <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Boolean</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;userExists&quot;</span>,
                                            <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> currentUser <span style="color: #009900;">&#125;</span>,
                                            <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">booleanValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">return</span> userExists<span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">RuntimeException</span><span style="color: #009900;">&#40;</span>ex<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">boolean</span> isGroupExists<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> currentGroup<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">RuntimeException</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000066; font-weight: bold;">boolean</span> gourpExists <span style="color: #339933;">=</span>
                <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Boolean</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator,
                                            <span style="color: #0000ff;">&quot;groupExists&quot;</span>,
                                            <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> currentGroup <span style="color: #009900;">&#125;</span>,
                                            <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">booleanValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">return</span> gourpExists<span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">RuntimeException</span><span style="color: #009900;">&#40;</span>ex<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
    <span style="color: #008000; font-style: italic; font-weight: bold;">/** This one is tricky, You first obtain a String cursor of the Iterator of Users, then you check if
        It have current, while true we invoke another function called &quot;getCurrentName&quot; which returns the name 
        of the user, then I call advance function for the cursor to move forward, and invoke haveCurrent again
        and assign it to the same boolean I entered the while with (In order to get out of it!)
    **/</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> List<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> getListOfUsers<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">RuntimeException</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            List<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> allUsers <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #003399;">String</span> cursor <span style="color: #339933;">=</span>
                <span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;listUsers&quot;</span>,
                                          <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;*&quot;</span>,
                                                         <span style="color: #003399;">Integer</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">9999</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span>,
                                          <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span>,
                                                         <span style="color: #0000ff;">&quot;java.lang.Integer&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000066; font-weight: bold;">boolean</span> haveCurrent <span style="color: #339933;">=</span>
                <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Boolean</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator,
                                            <span style="color: #0000ff;">&quot;haveCurrent&quot;</span>,
                                            <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                            <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">booleanValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>haveCurrent<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #003399;">String</span> currentName <span style="color: #339933;">=</span>
                    <span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator,
                                              <span style="color: #0000ff;">&quot;getCurrentName&quot;</span>,
                                              <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                              <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
                allUsers.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>currentName<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;advance&quot;</span>,
                                  <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                  <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                haveCurrent <span style="color: #339933;">=</span>
                        <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Boolean</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;haveCurrent&quot;</span>,
                                                    <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                                    <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">booleanValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">return</span> allUsers<span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">RuntimeException</span><span style="color: #009900;">&#40;</span>ex<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> List<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> getUserGroups<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> username<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">RuntimeException</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            List<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> allUserGroups <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #003399;">String</span> cursor <span style="color: #339933;">=</span>
                <span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;listMemberGroups&quot;</span>,
                                          <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> username <span style="color: #009900;">&#125;</span>,
                                          <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000066; font-weight: bold;">boolean</span> haveCurrent <span style="color: #339933;">=</span>
                <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Boolean</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator,
                                            <span style="color: #0000ff;">&quot;haveCurrent&quot;</span>,
                                            <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                            <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">booleanValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>haveCurrent<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #003399;">String</span> currentName <span style="color: #339933;">=</span>
                    <span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator,
                                              <span style="color: #0000ff;">&quot;getCurrentName&quot;</span>,
                                              <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                              <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                allUserGroups.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>currentName<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;advance&quot;</span>,
                                  <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                  <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                haveCurrent <span style="color: #339933;">=</span>
                        <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Boolean</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;haveCurrent&quot;</span>,
                                                    <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                                    <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">booleanValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">return</span> allUserGroups<span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">RuntimeException</span><span style="color: #009900;">&#40;</span>ex<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> List<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> getGroupMembers<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> groupName<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">RuntimeException</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            List<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> allGroupMembers <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #003399;">String</span> cursor <span style="color: #339933;">=</span>
                <span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;listGroupMembers&quot;</span>,
                                          <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> groupName, <span style="color: #0000ff;">&quot;*&quot;</span>, <span style="color: #000000; font-weight: bold;">new</span> java.<span style="color: #006633;">lang</span>.<span style="color: #003399;">Integer</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span>,
                                          <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span>, <span style="color: #0000ff;">&quot;java.lang.String&quot;</span>, <span style="color: #0000ff;">&quot;java.lang.Integer&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000066; font-weight: bold;">boolean</span> haveCurrent <span style="color: #339933;">=</span>
                <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Boolean</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator,
                                            <span style="color: #0000ff;">&quot;haveCurrent&quot;</span>,
                                            <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                            <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">booleanValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>haveCurrent<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #003399;">String</span> currentName <span style="color: #339933;">=</span>
                    <span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator,
                                              <span style="color: #0000ff;">&quot;getCurrentName&quot;</span>,
                                              <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                              <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                allGroupMembers.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>currentName<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;advance&quot;</span>,
                                  <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                  <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                haveCurrent <span style="color: #339933;">=</span>
                        <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Boolean</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;haveCurrent&quot;</span>,
                                                    <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                                    <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">booleanValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">return</span> allGroupMembers<span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">RuntimeException</span><span style="color: #009900;">&#40;</span>ex<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> List<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> getListOfGroups<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">RuntimeException</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            List<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> allUsers <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #003399;">String</span> cursor <span style="color: #339933;">=</span>
                <span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;listGroups&quot;</span>,
                                          <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;*&quot;</span>,
                                                         <span style="color: #003399;">Integer</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">9999</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span>,
                                          <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span>,
                                                         <span style="color: #0000ff;">&quot;java.lang.Integer&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000066; font-weight: bold;">boolean</span> haveCurrent <span style="color: #339933;">=</span>
                <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Boolean</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator,
                                            <span style="color: #0000ff;">&quot;haveCurrent&quot;</span>,
                                            <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                            <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">booleanValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>haveCurrent<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #003399;">String</span> currentName <span style="color: #339933;">=</span>
                    <span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator,
                                              <span style="color: #0000ff;">&quot;getCurrentName&quot;</span>,
                                              <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                              <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                allUsers.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>currentName<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;advance&quot;</span>,
                                  <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                  <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                haveCurrent <span style="color: #339933;">=</span>
                        <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Boolean</span><span style="color: #009900;">&#41;</span>connection.<span style="color: #006633;">invoke</span><span style="color: #009900;">&#40;</span>defaultAuthenticator, <span style="color: #0000ff;">&quot;haveCurrent&quot;</span>,
                                                    <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> cursor <span style="color: #009900;">&#125;</span>,
                                                    <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;java.lang.String&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">booleanValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">return</span> allUsers<span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">RuntimeException</span><span style="color: #009900;">&#40;</span>ex<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>And that&#8217;s it, Enjoy your Weblogic Utilities Class <img src='http://blog.amr-gawish.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amr-gawish.com/7836/creating-utilities-to-manipulate-users-in-weblogic-using-jmx-and-mbeans/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Farewell @notifyme, you were great</title>
		<link>http://blog.amr-gawish.com/7828/farewell-notifyme-you-were-great/</link>
		<comments>http://blog.amr-gawish.com/7828/farewell-notifyme-you-were-great/#comments</comments>
		<pubDate>Sat, 01 Oct 2011 21:58:11 +0000</pubDate>
		<dc:creator>agawish</dc:creator>
				<category><![CDATA[K]]></category>

		<guid isPermaLink="false">http://blog.amr-gawish.com/?p=7828</guid>
		<description><![CDATA[Notify Me is closing its services on 4th of October, It&#8217;s sad because I was depending on Notify.me in getting me the feeds updates I&#8217;m interested in, the Notify Me creator explained his reasons saying: This is most regrettable news, &#8230; <a href="http://blog.amr-gawish.com/7828/farewell-notifyme-you-were-great/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter" title="Notify me" src="http://static.notify.me/images/gn_header.png" alt="" width="230" height="90" /></p>
<p><a href="http://www.notify.me" title="Notify Me">Notify Me</a> is closing its services on 4th of October, It&#8217;s sad because I was depending on Notify.me in getting me the feeds updates I&#8217;m interested in, the Notify Me creator explained his reasons saying:</p>
<blockquote><p>This is most regrettable news, I have failed to find a business model that can support the service adequately. I’ve mentioned before about a plan to create a subscription however even optimistic projections fall short of anything sustainable.</p></blockquote>
<p>However He suggested some other alternatives for his service, one of which is very interesting which is <a href="ifttt.com" title="ifttt">ifttt</a> -yes the name is weird, but its a great Service indeed- It&#8217;s really a sad news, and I hope for the Notify.Me creator initiate a new service that I&#8217;ll sure follow his great ideas</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amr-gawish.com/7828/farewell-notifyme-you-were-great/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is Oracle WebCenter Connect</title>
		<link>http://blog.amr-gawish.com/7723/what-is-oracle-webcenter-connect/</link>
		<comments>http://blog.amr-gawish.com/7723/what-is-oracle-webcenter-connect/#comments</comments>
		<pubDate>Sat, 16 Jul 2011 14:25:26 +0000</pubDate>
		<dc:creator>agawish</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[Webcenter]]></category>
		<category><![CDATA[WebCenter Connect]]></category>

		<guid isPermaLink="false">http://blog.amr-gawish.com/?p=7723</guid>
		<description><![CDATA[In my Previous Post I pointed out the new WebCenter Strategy that Oracle Presented, which includes four products WebCenter Sites &#8211; A WEM (Web Experience Management) System which FatWire Acquisition played a great role of making WebCenter Portal &#8211; The old &#8230; <a href="http://blog.amr-gawish.com/7723/what-is-oracle-webcenter-connect/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>In my <a title="Oracle WebCenter Changes its face…again!" href="http://blog.amr-gawish.com/7559/oracle-webcenter-changes-its-face-again/">Previous Post</a> I pointed out the new WebCenter Strategy that Oracle Presented, which includes four products</p>
<p><strong>WebCenter Sites</strong> &#8211; A WEM (Web Experience Management) System which FatWire Acquisition played a great role of making<br />
<strong>WebCenter Portal</strong> &#8211; The old definition of Oracle WebCenter Suite including WebCenter Interaction, WebLogic Portal<br />
<strong>WebCenter Content</strong> &#8211; Which is the new name of Oracle ECM which was acquired from Stellent by Oracle<br />
<strong>WebCenter Content</strong> &#8211; From which I want to point out new information about it</p>
<div>As Oracle says, the WebCenter Connect consists of three major products</div>
<div>
<p>&nbsp;</p>
<h3>1- <a title="Oracle On Track Communication" href="http://www.oracle.com/technetwork/middleware/ontrack/overview/index.html" target="_blank"><strong>Oracle On Track Communication</strong></a></h3>
<p>This is the main component of Connect which in my mind is going to be a blow in the WebCenter Products, because of it&#8217;s structure and paradigm.It uses a different model, than we we would originally think, and that is the <strong>Conversation</strong>A <strong>Conversation </strong> is a way of communication, think of it like an email, a presentation, a chat, document annotations or even a video call, this is all a conversation material, you can make a conversation with a person using those stuff, but further more this conversation is a needed assets in the now application for historical and referencing reason, so it can be categorized into more stuff, like a Task for example, a task can be a set of Conversations that have specific metadata like assigned person and stuff, and the conversation content can be attached files of the task content itself or can be consultation help of this task, or even a voice recording about description of this Task, take this example and expand it to cover Projects, Meetings and more, it&#8217;s like the Google Wave project with some cool plugins for browser and Outlook and mobility focused application like iPhone and iPad you have what you need to do things for the enterprise on Go.What will be amazing, is how this capabilities gonna be integrated in the new WebCenter SuiteHere is  some Screen shots of  the product:<br />
<a href="http://blog.amr-gawish.com/wp-content/uploads/2011/07/Collaboration-1.png"><img class="alignnone size-thumbnail wp-image-7724" title="Oracle On Track Screenshot 1" src="http://blog.amr-gawish.com/wp-content/uploads/2011/07/Collaboration-1-150x150.png" alt="" width="150" height="150" /></a>   <a href="http://blog.amr-gawish.com/wp-content/uploads/2011/07/Collaboration-2.png"><img class="alignnone size-thumbnail wp-image-7725" title="Oracle On Track screenshot 2" src="http://blog.amr-gawish.com/wp-content/uploads/2011/07/Collaboration-2-150x150.png" alt="" width="150" height="150" /></a>  <a href="http://blog.amr-gawish.com/wp-content/uploads/2011/07/Collaboration-3.png"><img class="alignnone size-thumbnail wp-image-7726" title="Oracle On Track Screenshot 3" src="http://blog.amr-gawish.com/wp-content/uploads/2011/07/Collaboration-3-150x150.png" alt="" width="150" height="150" /></a></p>
<h3>2- <strong><a title="Oracle WebCenter RealTime Collaboraiton" href="http://www.oracle.com/technetwork/middleware/wc-real-time-collaboration/overview/index.html" target="_blank">Oracle WebCenter Real-Time Collaboration</a></strong></h3>
<p>This is the old WebCenter Collaboration Server which improves efficiency and productivity by enabling users to connect and collaborate with others via instant messaging, presence, chat rooms, and web and voice conferencing, it&#8217;s a key piece for portal if you want to enable rich interaction between users and provide a more connectable Portals, and it&#8217;s available as part of the Beehive Product</p>
<h3>3- <strong><a title="Oracle WebCenter Intelligent Collaboration " href="http://www.oracle.com/technetwork/middleware/wc-intelligent-collaboration/overview/index.html" target="_blank">Oracle WebCenter Intelligent Collaboration<br />
</a></strong></h3>
<p>Oracle WebCenter Intelligent Collaboration (WebCenter IC) is a unique connection brokering solution that gives employees a way to easily reach out to the most knowledgeable people throughout your organization to get the critical insights and information they need to make smarter business decisions. Unlike other expertise search or expertise location solutions out there, WebCenter IC doesn’t rely on users having to manage profiles, or publish tags that describe their expertise, or even share any information or activities with others. Instead, the WebCenter IC system builds rich, private profiles of all employees and then acts as a broker between a person needing help on a topic and the people that are most knowledgeable about that topic. Without revealing the identity or profiles of those targeted, the system sends them ‘invitations to connect’ and only when the person opts-in to respond is his or her identity revealed.</p>
</div>
<div>So now the important question, how those products will fit under the WebCenter Umbrella and play nicely with WebCenter Portal, Sites and Content</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.amr-gawish.com/7723/what-is-oracle-webcenter-connect/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oracle WebCenter Changes its face&#8230;again!</title>
		<link>http://blog.amr-gawish.com/7559/oracle-webcenter-changes-its-face-again/</link>
		<comments>http://blog.amr-gawish.com/7559/oracle-webcenter-changes-its-face-again/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 08:54:06 +0000</pubDate>
		<dc:creator>agawish</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[Webcenter]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[WebCenter Connect]]></category>
		<category><![CDATA[WebCenter Content]]></category>
		<category><![CDATA[WebCenter Portal]]></category>
		<category><![CDATA[WebCenter Sites]]></category>

		<guid isPermaLink="false">http://blog.amr-gawish.com/?p=7559</guid>
		<description><![CDATA[After the migration of BEA AquaLogic Interaction into WebCenter Interaction suite, Oracle made a new advancement after acquiring FatWire, and after the acquisition of Stellent Content Management System, Oracle has announced the WebCenter Suite strategy as follows: WebCenter Sites This &#8230; <a href="http://blog.amr-gawish.com/7559/oracle-webcenter-changes-its-face-again/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>After the migration of BEA AquaLogic Interaction into WebCenter Interaction suite, Oracle made a new advancement after <a title="Oracle Acquires Fatwire" href="http://www.oracle.com/us/corporate/Acquisitions/fatwire/faq-418754.pdf">acquiring FatWire</a>, and after the acquisition of Stellent Content Management System, Oracle has <a title="Oracle announcement" href="http://www.oracle.com/us/corporate/press/431137" target="_blank">announced </a>the WebCenter Suite strategy as follows:</p>
<ul>
<li><strong><a title="Oracle WebCenter Sites" href="http://www.oracle.com/us/products/middleware/webcenter/sites/resources/index.html" target="_blank">WebCenter Sites<br />
<img class="alignnone" title="Oracle WebCenter Sites" src="http://www.oracle.com/us/assets/im08t0-webcenter-sites-5-431129.jpg" alt="" width="600" height="400" /></a><br />
</strong>This is the WEM (Web Experience Management) Functionality that Oracle talked about when acquired FatWire, and it&#8217;s different that a normal WCM (Web Content Management) see this <a title="Difference between WCM and WEM" href="http://bexhuff.com/2011/07/the-fatwire-acquisition">article</a>, there is no talk of how this feature gonna be from oracle, but soon enough we will know, however oracle defines the product as :Oracle WebCenter sites enables marketers to rapidly create multiple online experiences that strengthen customer engagement. It allows them to reduce maintenance demands on IT while gaining more control over dynamic targeted content to promote customer loyalty and increase revenue.Waiting to see more about WebCenter Sites</li>
<li><strong><a title="Oracle WebCenter Portal" href="http://www.oracle.com/us/products/middleware/webcenter/portal/overview/index.html#/0" target="_blank">WebCenter Portal<br />
<img class="alignnone" title="Oracle WebCenter Portal" src="http://www.oracle.com/us/assets/im08t0-webcenter-portlet-1-430020.jpg" alt="" width="600" height="400" /><br />
</a><br />
</strong>This is basically the old WebCenter Suite as we used to know it, including Oracle Weblogic Portal and Oracle WebCenter Interaction suite plus WebCenter Servies, oracle defines the product as:Oracle WebCenter portal is a portal and composite applications solution that delivers intuitive user experiences for the enterprise that are seamlessly integrated with your enterprise applications.</li>
<li><strong><strong><a title="Oracle WebCenter Content" href="http://www.oracle.com/us/products/middleware/webcenter/content/resources/index.html" target="_blank">WebCenter Content<br />
<img title="Oracle WebCenter Content" src="http://www.oracle.com/us/assets/im08t0-webcenter-content-1-430073.jpg" alt="" width="600" height="400" /></a></strong></strong><strong><br />
</strong>This was a shock to me, because this is Oracle ECM in its new name, and hopefully new face.<br />
This will be the official name for Oracle ECM from now on, so ECM people should get used to it!, and here is the oracle definition of the productOracle WebCenter content provides organizations with a unified repository to house unstructured content, and deliver it to business users in the proper format, and within context of familiar applications to fit the way they work.</li>
<li><strong><strong><a title="Oracle WebCenter Connect" href="http://www.oracle.com/us/products/middleware/webcenter/connect/overview/index.html" target="_blank">WebCenter Connect<br />
<img title="Oracle WebCenter Connect" src="http://www.oracle.com/us/assets/im08t0-webcenter-connect-1-430064.jpg" alt="" width="600" height="400" /></a></strong></strong><strong><br />
</strong>Stream Based Conversation System, That&#8217;s how oracle made it look like, This is also a new thing that oracle introduces, to know more read this <a title="What is Oracle WebCenter Connect" href="http://blog.amr-gawish.com/7723/what-is-oracle-webcenter-connect/">post</a>, or read the definition of the product from Oracle:Oracle WebCenter connect provides an innovative social experience designed to drive collaborative decision making within businesses through a modern web experience and consumer style design that delivers a highly engaging environment to focus productivity.Waiting to see more about this interesting news, don&#8217;t you!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.amr-gawish.com/7559/oracle-webcenter-changes-its-face-again/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Being the Computer guy!</title>
		<link>http://blog.amr-gawish.com/7437/being-the-computer-guy/</link>
		<comments>http://blog.amr-gawish.com/7437/being-the-computer-guy/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 09:49:19 +0000</pubDate>
		<dc:creator>agawish</dc:creator>
				<category><![CDATA[Randoms]]></category>

		<guid isPermaLink="false">http://blog.amr-gawish.com/?p=7437</guid>
		<description><![CDATA[I&#8217;ve been facing my entire life the problem of being the Computer guy, that when someone knows that I&#8217;m into computer, they ask me with a big smile on their face &#8220;Please can you help me with the computer, the &#8230; <a href="http://blog.amr-gawish.com/7437/being-the-computer-guy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://steveclaus.deviantart.com/art/Corporate-Computer-Solutions-92601663?q=boost%3Apopular%20Computer%20guy%20logo&amp;qo=5"><img class="aligncenter" src="http://fc06.deviantart.net/fs32/f/2008/205/7/1/Corporate_Computer_Solutions_by_steveclaus.jpg" alt="Being a computer guy" width="614" height="461" /></a><br />
I&#8217;ve been facing my entire life the problem of being the Computer guy, that when someone knows that I&#8217;m into computer, they ask me with a big smile on their face &#8220;Please can you help me with the computer, the folders is not organized!&#8221; or something like &#8220;The Computer is slow, and I only run about 30 programs in parallel!&#8221; and If I tried to deny that I&#8217;m that &#8220;kind&#8221; of Computer guy they just thing, that I&#8217;m getting away!</p>
<p style="text-align: left;">I just wanted to say I&#8217;m not a computer person, I&#8217;m a software person that I know about some aspects of software while there is a huge difference, people don&#8217;t get enough asking you about the damaged HDD or the Wireless network is not working, or the internet is slow!</p>
<p style="text-align: left;">I&#8217;M A MIDDLEWARE/SOFTWARE/INTERNET PERSON, I DON&#8217;T FIX COMPUTERS!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amr-gawish.com/7437/being-the-computer-guy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
