<?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 &#187; oracle</title>
	<atom:link href="http://blog.amr-gawish.com/category/oracle/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>Mon, 26 Dec 2011 07:08:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<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>0</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"><div 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></div></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"><div 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></div></div>

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

<div class="wp_syntax"><div 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></div></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"><div 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></div></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>2</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>My Next Projects</title>
		<link>http://blog.amr-gawish.com/7156/my-next-projects/</link>
		<comments>http://blog.amr-gawish.com/7156/my-next-projects/#comments</comments>
		<pubDate>Sat, 13 Nov 2010 00:42:11 +0000</pubDate>
		<dc:creator>agawish</dc:creator>
				<category><![CDATA[ADF]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[Oracle WebCenter Interaction]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Webcenter]]></category>

		<guid isPermaLink="false">http://blog.amr-gawish.com/?p=7156</guid>
		<description><![CDATA[So I was busy in the last couple of weeks, doing multiple work with ADF with RIDC I have to admit, RIDC really ROX, and also working with SOA 11g and how SOA literally changing my life -to the better-. &#8230; <a href="http://blog.amr-gawish.com/7156/my-next-projects/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So I was busy in the last couple of weeks, doing multiple work with ADF with <a href="http://download.oracle.com/docs/cd/E10316_01/ContentIntegration/ridc/Javadoc/index.html">RIDC</a></p>
<p>I have to admit, RIDC really ROX, and also working with SOA 11g and how SOA literally changing my life -to the better-.</p>
<p>I bought the book <a href="http://www.mhprofessional.com/product.php?isbn=0071608974">Oracle SOA Suite 11g Handbook</a> It&#8217;s really amazing, not only from technical point of view, but the case study that is presented in the book is more than beautiful, the book teaches how to Think in SOA not just what component does what in Oracle SOA Suite.</p>
<p>The topic that interest me the most is <a href="http://en.wikipedia.org/wiki/Complex_event_processing">Complex Event Processing</a> or CEP, CEP importance is everywhere and who doesn&#8217;t need to search for patterns in the data to take decisions, and all the big companies have this critical business that needs to process data real time for such patterns to take actions.</p>
<p>Add to that my journey with WebCenter Spaces and how to fully customize and extending it, and how can this amazingly beautiful product to have such a capabilities and integration methodologies, they took a lot from WebCenter Interaction -The best in WCI- and added more of Social Activities and Web2.0 enhancements with the powerfulness of Weblogic, you got a complete stack -Slow but Powerful- (Slow as I&#8217;m testing all that in a single machine!)</p>
<p>I&#8217;m really having a great journey with Oracle Fusion Middleware and my next couple of Articles I&#8217;ll be presenting some of its powerfulness with some cool tutorials I promise, and It&#8217;ll be presented in the <a href="http://mdlwr.amr-gawish.com">mdlwr</a> blog.</p>
<p>During this time also, I&#8217;ll try my best to provide an enhancement to the Android Browser WebView to enable Android Devices to read basic Arabic letter, with the latest BAR source control, after enhancements.</p>
<p>I&#8217;m planning also to buy the HTC Desire HD to test my solution, and see the application live working.</p>
<p>Wish me Luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amr-gawish.com/7156/my-next-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Going Production</title>
		<link>http://blog.amr-gawish.com/6125/going-production/</link>
		<comments>http://blog.amr-gawish.com/6125/going-production/#comments</comments>
		<pubDate>Wed, 27 Oct 2010 16:46:36 +0000</pubDate>
		<dc:creator>agawish</dc:creator>
				<category><![CDATA[K]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[Oracle WebCenter Interaction]]></category>
		<category><![CDATA[Webcenter]]></category>
		<category><![CDATA[agawish]]></category>
		<category><![CDATA[Amr Gawish]]></category>
		<category><![CDATA[wci]]></category>

		<guid isPermaLink="false">http://blog.amr-gawish.com/?p=6125</guid>
		<description><![CDATA[No matter how hard you try to make your development environment as close as possible to your production, you get disappointed by a lot of errors in production mode! Experience is what helps you in that issue, but even with &#8230; <a href="http://blog.amr-gawish.com/6125/going-production/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://basemsamir.deviantart.com/art/am-going-crazy-49444581?q=boost:popular+Going+crazy&amp;qo=8"><img class="aligncenter" src="http://fc08.deviantart.net/fs15/f/2007/054/c/d/am_going_crazy_by_basemsamir.jpg" alt="going crazy" width="296" height="451" /></a></p>
<p style="text-align: left;">No matter how hard you try to make your development environment as close as possible to your production, you get disappointed by a lot of errors in production mode!<br />
Experience is what helps you in that issue, but even with experience the migration process from development to production still can be very painful.</p>
<p>But&#8230;I can proudly say, that you won&#8217;t face such a trouble with WebCenter Interaction!</p>
<p>Thanks to the WebCenter Interaction Migration mechanism, which export portal object in a .pte (PorTal Extension) to be imported easily with their dependencies and parents, the migration process couldn&#8217;t be easier, and it took me about ummm 30 minutes, to transfer more than 50 Community, 100 pages, layouts and custom portlets with it&#8217;s related dependencies (Includes copying and pasting files from both servers!).</p>
<p>So bad that WCI is no longer in strategic products of Oracle, it could be the best out there</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amr-gawish.com/6125/going-production/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating Oracle UCM portlet in easy steps</title>
		<link>http://blog.amr-gawish.com/6124/creating-oracle-ucm-portlet-in-easy-steps/</link>
		<comments>http://blog.amr-gawish.com/6124/creating-oracle-ucm-portlet-in-easy-steps/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 13:22:01 +0000</pubDate>
		<dc:creator>agawish</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[Oracle ECM]]></category>
		<category><![CDATA[Oracle WebCenter Interaction]]></category>
		<category><![CDATA[Webcenter]]></category>
		<category><![CDATA[agawish]]></category>
		<category><![CDATA[alui]]></category>
		<category><![CDATA[Amr Gawish]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[ucm]]></category>
		<category><![CDATA[wci]]></category>

		<guid isPermaLink="false">http://blog.amr-gawish.com/?p=6124</guid>
		<description><![CDATA[I&#8217;ve published another post in my mdlwr blog named Creating Oracle UCM portlet in easy steps Here is a head start, and enjoy the rest on mdlwr with Oracle Middleware Products I recently faced a requirements when the customer needed &#8230; <a href="http://blog.amr-gawish.com/6124/creating-oracle-ucm-portlet-in-easy-steps/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve published another post in my <a href="http://mdlwr.amr-gawish.com">mdlwr</a> blog named <a href="http://mdlwr.amr-gawish.com/?p=9" target="_blank">Creating Oracle UCM portlet in easy steps</a></p>
<p>Here is a head start, and enjoy the rest on <a href="http://mdlwr.amr-gawish.com/?p=9">mdlwr</a> with Oracle Middleware Products</p>
<blockquote><p>I recently faced a requirements when the customer needed to display a custom portlet of Oracle UCM specific Document Type in WebCenter Interaction, and those who don’t know WebCenter Interaction aka WCI aka AquaLogic User Interaction aka ALUI, should read about <a href="http://www.oracle.com/us/products/middleware/user-interaction/webcenter-interaction/index.html" target="_blank">it</a>!</p>
<p>Anyway so I went through UCM Content Portlet Suite (CPS), and I found the search but, the customer wanted a thumbnail (Rendition) of the document to be displayed!</p>
<p>After searching online I found an amazing <a href="http://blogs.oracle.com/fusionecm/2010/04/oracle_ucm_integration_with_we.html">article</a> on different ways to integrate WebCenter application with Oracle ECM, of course the author was talking about Oracle WebCenter not Oracle WebCenter Interaction -There are differences, huge ones!- but <a href="http://blogs.oracle.com/woa/2009/01/web_oriented_architecture_for.html" target="_blank">one </a>of the ways specifically interested me, that is using JSON output of the UCM services to be parsed using Javascript and do the work needed.</p>
<p>So HTML pages, can display content from UCM using Javascript and JSON Parsing, COOL!</p>
<p>So instantly -actually 2 weeks later!- I started to dig out how to deal with this JSON object returned, and how can I use it to fulfill my needs.</p>
<p>The author of the <a href="http://www.screencast.com/t/IttPATYn" target="_blank">Video</a>/<a href="http://blogs.oracle.com/woa/2009/01/web_oriented_architecture_for.html" target="_self">Article</a> gave 2 simple examples, Showing the folder structure of the UCM and to search UCM, using the Ajax way!</p>
<p>So as I wanted to get the result of a specific document type, so I was interested in his last example,</p>
<p><strong>1-</strong> <strong>How can I tune his search query to give me what I need?</strong>,</p>
<p><strong>2-</strong> <strong>How can I actually get the rendition of the file? </strong>and</p>
<p><strong>3- How can I know the image path using the rendition?</strong></p></blockquote>
<p>Read the rest on <a href="http://mdlwr.amr-gawish.com/?p=9">mdlwr</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amr-gawish.com/6124/creating-oracle-ucm-portlet-in-easy-steps/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ADF Desktop Integration</title>
		<link>http://blog.amr-gawish.com/181/adf-desktop-integration/</link>
		<comments>http://blog.amr-gawish.com/181/adf-desktop-integration/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 22:57:35 +0000</pubDate>
		<dc:creator>agawish</dc:creator>
				<category><![CDATA[ADF]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[agawish]]></category>
		<category><![CDATA[Amr Gawish]]></category>

		<guid isPermaLink="false">http://blog.amr-gawish.com/?p=181</guid>
		<description><![CDATA[This is a great news, now you can make an ADF application all within the excel with real life data and actions from ADF and ADF binding. I can&#8217;t wait to test and see how this works check it out http://www.oracle.com/technology/products/adf/adfdi/index.html]]></description>
			<content:encoded><![CDATA[<p>This is a great news, now you can make an ADF application all within the excel with real life data and actions from ADF and ADF binding.</p>
<p>I can&#8217;t wait to test and see how this works</p>
<p>check it out <a href="http://www.oracle.com/technology/products/adf/adfdi/index.html">http://www.oracle.com/technology/products/adf/adfdi/index.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amr-gawish.com/181/adf-desktop-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Middleware mdlwr Blog</title>
		<link>http://blog.amr-gawish.com/173/middleware-mdlwr-blog/</link>
		<comments>http://blog.amr-gawish.com/173/middleware-mdlwr-blog/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 11:12:06 +0000</pubDate>
		<dc:creator>agawish</dc:creator>
				<category><![CDATA[K]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Webcenter]]></category>

		<guid isPermaLink="false">http://blog.amr-gawish.com/?p=173</guid>
		<description><![CDATA[I&#8217;ve though about this long time ago, but I didn&#8217;t have the courage nor the content to start it. Now that I do have the courage -content is on the way!- to announce the blog mdlwr you can go directly check &#8230; <a href="http://blog.amr-gawish.com/173/middleware-mdlwr-blog/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve though about this long time ago, but I didn&#8217;t have the courage nor the content to start it.</p>
<p>Now that I do have the courage -content is on the way!- to announce the blog <a title="Oracle Middleware Blog - by Amr Gawish" href="http://mdlwr.amr-gawish.com" target="_blank">mdlwr</a> you can go directly check it, or you can see its latest news via <a title="mdlwr twitter account" href="http://twitter.com/mdlwr" target="_blank">twitter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amr-gawish.com/173/middleware-mdlwr-blog/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

