<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1563658570392875848</id><updated>2024-09-27T03:56:08.785-07:00</updated><category term="UCM 11g"/><category term="Menu items"/><category term="eclipse"/><category term="invalid pad byte"/><category term="java"/><category term="jsafe exception"/><category term="menus"/><category term="weblogic server"/><category term="COLLECTION_MOVE_LOT"/><category term="COLLECTION_UPDATE_ALL"/><category term="COLLECTION_UPDATE_META"/><category term="CONTENT_SEARCH.SEARCH_WITH_RESULTSETINTERFACE"/><category term="CSDS"/><category term="ColumnMapRowMapper"/><category term="CoreMenuItemRelationships"/><category term="CoreMenutItems"/><category term="Illegal Argument Exception"/><category term="Interface not visible from class loader"/><category term="ORA-06550"/><category term="PLS-00201"/><category term="Padding exception"/><category term="RowMapper"/><category term="SingleColumnRowMapper"/><category term="Spring"/><category term="UCM 11g error"/><category term="UCM11g"/><category term="UPDATE_DOCINFO"/><category term="auto completion"/><category term="check box"/><category term="class loader"/><category term="classloader"/><category term="configuration of eclipse"/><category term="content server"/><category term="content server start problem"/><category term="contentprocedures.sql"/><category term="csSearchUnableToReturnResults"/><category term="ctrl + space"/><category term="custom java component"/><category term="decimal"/><category term="development environment"/><category term="disable check box"/><category term="error"/><category term="example code"/><category term="examples"/><category term="filter"/><category term="folder move"/><category term="free ebooks"/><category term="hiding menus"/><category term="html"/><category term="idc.string.wwStrings"/><category term="ide"/><category term="javascript"/><category term="jsp version"/><category term="lc"/><category term="listening a port"/><category term="netstat"/><category term="ootb"/><category term="ports"/><category term="process using port"/><category term="replace"/><category term="replaceall"/><category term="round"/><category term="rounding"/><category term="server information"/><category term="servlet version"/><category term="start error"/><category term="string"/><category term="technical"/><category term="ucm"/><category term="ucm error"/><category term="using a port"/><category term="validation"/><category term="web services"/><category term="wwStrings"/><title type='text'>My Blog</title><subtitle type='html'>Whatever you do will be insignificant, but it is very important that you do it.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>22</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-5695443302361729552</id><published>2013-06-01T12:06:00.002-07:00</published><updated>2013-06-22T10:52:02.046-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ColumnMapRowMapper"/><category scheme="http://www.blogger.com/atom/ns#" term="example code"/><category scheme="http://www.blogger.com/atom/ns#" term="examples"/><category scheme="http://www.blogger.com/atom/ns#" term="RowMapper"/><category scheme="http://www.blogger.com/atom/ns#" term="SingleColumnRowMapper"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring"/><title type='text'>SingleColumnRowMapper &amp; ColumnMapRowMapper examples in Spring</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Spring JDBC includes two default implementations of &lt;i&gt;&lt;b&gt;RowMapper&lt;/b&gt;&lt;/i&gt; - SingleColumnRowMapper and ColumnMapRowMapper. Below are the sample usages of those row mappers.&lt;br /&gt;
&lt;br /&gt;
There are lots of situations when you just want to select one column or only a selected set of columns in your application and to write custom row mapper implementations for these scenarios doesn&#39;t seem right. In these scenarios, we can make use of the spring provided row mapper implementations.&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
SingleColumnRowMapper &lt;/h4&gt;
&lt;br /&gt;
This class implements &lt;a href=&quot;http://static.springsource.org/spring/docs/3.2.x/javadoc-api/org/springframework/jdbc/core/RowMapper.html&quot;&gt;RowMapper&lt;/a&gt; interface. As the name suggests, this class can be used to retrieve a single value from the database as a&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;code&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;java.util.&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;List&lt;/span&gt;&lt;/span&gt;.&lt;/code&gt;&lt;/span&gt;&lt;/b&gt; The list contains the column values one per each row.&lt;br /&gt;
&lt;br /&gt;
In the below code snippet, the type of the result value for each row is specified by the constructor argument. It can also be specified by invoking the setRequiredType(Class&amp;lt;T&amp;gt; requiredType) method.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;public List&lt;string&gt; getFirstName(int userID)&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;string&gt;{&amp;nbsp;&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;string&gt;&amp;nbsp; String sql = &quot;select firstname from users where user_id = &quot; + userID;&amp;nbsp;&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;string&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;string&gt;&amp;nbsp; SingleColumnRowMapper&lt;string&gt; rowMapper = new SingleColumnRowMapper&lt;string&gt;(String.class);&amp;nbsp;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&amp;nbsp; List&lt;string&gt; firstNameList = (List&lt;string&gt;) getJdbcTemplate().query(sql, rowMapper);&amp;nbsp;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&amp;nbsp; for(String firstName: firstNameList)&amp;nbsp;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(firstName);&amp;nbsp;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&amp;nbsp; return firstNameList;&amp;nbsp;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;}&lt;/span&gt;&amp;nbsp;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;br /&gt;More information on the class and its methods can be found in the below spring javadoc link.&lt;br /&gt;
&lt;a href=&quot;http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/SingleColumnRowMapper.html&quot;&gt;http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/SingleColumnRowMapper.html&lt;/a&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&amp;nbsp;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/h4&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;ColumnMapRowMapper &lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/h4&gt;
&lt;h3&gt;
&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/h3&gt;
&lt;br /&gt;
&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;ColumnMapRowMapper class can be used to retrieve more than one column from a database table. This class also implements &lt;u&gt;RowMapper&lt;/u&gt; interface.This class creates a&amp;nbsp;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;code&gt;java.util.Map&lt;/code&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt; for each row, representing all columns as key-value pairs: one
 entry for each column, with the column name as key. &lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;br /&gt;
&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;public List&amp;lt;Map&amp;lt;String, Object&amp;gt;&amp;gt; getUserData(int userID)&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; String sql = &quot;select firstname, lastname, dept from users where userID = ? &quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; ColumnMapRowMapper rowMapper = new ColumnMapRowMapper();&lt;br /&gt;&amp;nbsp; List&amp;lt;Map&amp;lt;String, Object&amp;gt;&amp;gt; userDataList =&amp;nbsp; getJdbcTemplate().query(sql, rowMapper, userID);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; for(Map&amp;lt;String, Object&amp;gt; map: userDataList){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&quot;FirstName = &quot; + map.get(&quot;firstname&quot;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&quot;LastName = &quot; + map.get(&quot;lastname&quot;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&quot;Department = &quot; + map.get(&quot;dept&quot;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; return userDataList;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;br /&gt;
&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;br /&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;
More information on the class and its methods can be found in the below spring javadoc link.&lt;br /&gt;
&lt;a href=&quot;http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/ColumnMapRowMapper.html&quot;&gt;http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/ColumnMapRowMapper.html&lt;/a&gt; &lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/5695443302361729552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/5695443302361729552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/5695443302361729552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/5695443302361729552'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2013/06/singlecolumnrowmapper.html' title='SingleColumnRowMapper &amp; ColumnMapRowMapper examples in Spring'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-6332412384471415381</id><published>2012-07-26T06:24:00.000-07:00</published><updated>2012-07-26T07:31:07.551-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CONTENT_SEARCH.SEARCH_WITH_RESULTSETINTERFACE"/><category scheme="http://www.blogger.com/atom/ns#" term="contentprocedures.sql"/><category scheme="http://www.blogger.com/atom/ns#" term="csSearchUnableToReturnResults"/><category scheme="http://www.blogger.com/atom/ns#" term="ORA-06550"/><category scheme="http://www.blogger.com/atom/ns#" term="PLS-00201"/><title type='text'>PLS-00201: identifier &#39;CONTENT_SEARCH.SEARCH_WITH_RESULTSETINTERFACE&#39; must be declared</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Recently, we configured our WebCenterContent (UCM) 11g system to use OracleText as the Search Indexing Engine.&lt;br /&gt;
&lt;br /&gt;
After the Collection was successfully rebuilt, the search was throwing the below error. No results were returned, and always got the error &quot;Unable to return results&quot; on the screen.&lt;br /&gt;
&lt;br /&gt;
*******************************************************************************&lt;br /&gt;
&amp;gt;systemdatabase/6&amp;nbsp;&amp;nbsp;&amp;nbsp; 07.20 15:05:05.987&amp;nbsp;&amp;nbsp;&amp;nbsp; IdcServer-39527&amp;nbsp;&amp;nbsp;&amp;nbsp; Prepared statement is reused.&lt;br /&gt;
&amp;gt;systemdatabase/6&amp;nbsp;&amp;nbsp;&amp;nbsp; 07.20 15:05:05.987&amp;nbsp;&amp;nbsp;&amp;nbsp; IdcServer-39527&amp;nbsp;&amp;nbsp;&amp;nbsp; Parameters: ([indexName:FT_IdcText1],[tableName:IdcText1],[queryText:(SDATA(sddDocName LIKE &#39;SAM1059638&#39;))],&lt;br /&gt;
&amp;gt;systemdatabase/7&amp;nbsp;&amp;nbsp;&amp;nbsp; 07.20 15:05:06.003&amp;nbsp;&amp;nbsp;&amp;nbsp; IdcServer-39527&amp;nbsp;&amp;nbsp;&amp;nbsp; (start) SELECT 1 FROM DUAL&lt;br /&gt;
&amp;gt;systemdatabase/6&amp;nbsp;&amp;nbsp;&amp;nbsp; 07.20 15:05:06.003&amp;nbsp;&amp;nbsp;&amp;nbsp; IdcServer-39527&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.83 ms. SELECT 1 FROM DUAL[Executed. Returned row(s): true]&lt;br /&gt;
&amp;gt;systemdatabase/6&amp;nbsp;&amp;nbsp;&amp;nbsp; 07.20 15:05:06.003&amp;nbsp;&amp;nbsp;&amp;nbsp; IdcServer-39527&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;!csDbUnableToExecuteCallableQuery,CotsSearchQuery!$ORA-06550: line 1\, column 7:&lt;br /&gt;&amp;nbsp;systemdatabase/6&amp;nbsp;&amp;nbsp;&amp;nbsp; 07.20 15:05:06.003&amp;nbsp;&amp;nbsp;&amp;nbsp; IdcServer-39527&amp;nbsp;&amp;nbsp;&amp;nbsp; PLS-00201: identifier &#39;CONTENT_SEARCH.SEARCH_WITH_RESULTSETINTERFACE&#39; must be declared&lt;br /&gt;&amp;nbsp;systemdatabase/6&amp;nbsp;&amp;nbsp;&amp;nbsp; 07.20 15:05:06.003&amp;nbsp;&amp;nbsp;&amp;nbsp; IdcServer-39527&amp;nbsp;&amp;nbsp;&amp;nbsp; ORA-06550: line 1\, column 7:&lt;br /&gt;&amp;nbsp;systemdatabase/6&amp;nbsp;&amp;nbsp;&amp;nbsp; 07.20 15:05:06.003&amp;nbsp;&amp;nbsp;&amp;nbsp; IdcServer-39527&amp;nbsp;&amp;nbsp;&amp;nbsp; PL/SQL: Statement ignored&lt;/b&gt;&lt;br /&gt;
...................&lt;br /&gt;
&amp;gt;services/3&amp;nbsp;&amp;nbsp;&amp;nbsp; 07.20 15:05:06.003&amp;nbsp;&amp;nbsp;&amp;nbsp; IdcServer-39527&amp;nbsp;&amp;nbsp;&amp;nbsp; !csUserEventMessage,weblogic,server363!$ intradoc.common.ServiceException: !csSearchUnableToReturnResults&lt;br /&gt;
&amp;nbsp;services/3&amp;nbsp;&amp;nbsp;&amp;nbsp; 07.20 15:05:06.003&amp;nbsp;&amp;nbsp;&amp;nbsp; IdcServer-39527&amp;nbsp;&amp;nbsp;&amp;nbsp; *ScriptStack GET_SEARCH_RESULTS&lt;br /&gt;
&amp;nbsp;services/3&amp;nbsp;&amp;nbsp;&amp;nbsp; 07.20 15:05:06.003&amp;nbsp;&amp;nbsp;&amp;nbsp; IdcServer-39527&amp;nbsp;&amp;nbsp;&amp;nbsp; 3:getSearchResults,**no captured values**&lt;br /&gt;
******************************************************************************&lt;br /&gt;
&lt;br /&gt;
Solution for this error is to run the &lt;b&gt;contentprocedures.sql&lt;/b&gt; on the WebCenterContent (UCM) schema.&lt;br /&gt;
&lt;br /&gt;
This script can be found in the below location.&lt;br /&gt;
&lt;b&gt;\\MIDDLEWARE_HOME\ORACLE_HOME\ucm\idc\database\oracle\admin&lt;/b&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/6332412384471415381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/6332412384471415381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/6332412384471415381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/6332412384471415381'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2012/07/error-of-week-pls-00201-identifier.html' title='PLS-00201: identifier &#39;CONTENT_SEARCH.SEARCH_WITH_RESULTSETINTERFACE&#39; must be declared'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-2823950342340292719</id><published>2011-09-26T08:22:00.003-07:00</published><updated>2012-07-26T06:30:30.132-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="class loader"/><category scheme="http://www.blogger.com/atom/ns#" term="classloader"/><category scheme="http://www.blogger.com/atom/ns#" term="Illegal Argument Exception"/><category scheme="http://www.blogger.com/atom/ns#" term="Interface not visible from class loader"/><category scheme="http://www.blogger.com/atom/ns#" term="UCM 11g"/><category scheme="http://www.blogger.com/atom/ns#" term="web services"/><category scheme="http://www.blogger.com/atom/ns#" term="weblogic server"/><title type='text'>Consuming External Web Services in UCM11g</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In our project, we were trying to consume external web services from a component in UCM 11g but were unsuccessful for a long time. &lt;br /&gt;
&lt;br /&gt;
The component in 10g to consume web services was working very well but when upgraded to 11g, this component was not working.&lt;br /&gt;
&lt;br /&gt;
In 10g, we bundled the stub classes as a jar and deployed it as part of custom component ($Component/lib). When this component was deployed in 11g, we were getting the below error.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Illegal Argument Exception..............&lt;br /&gt;Interface not visible from class loader.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
It was clear from the error that the stub classes are not loaded to the correct class loader. &lt;br /&gt;
&lt;br /&gt;
Finally we achieved it by placing the stub jar in the &lt;b&gt;$DOMAIN_DIR/lib&lt;/b&gt; folder where $DOMAIN_DIR is the UCM Domain. Then removed the jar from the component and its class path and restarted and then it started working.&lt;br /&gt;
&lt;br /&gt;
If there is a better solution to the problem, please leave your suggestions as comments.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/2823950342340292719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/2823950342340292719' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/2823950342340292719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/2823950342340292719'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2011/09/consuming-external-web-services-in.html' title='Consuming External Web Services in UCM11g'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-5728332954714783755</id><published>2011-08-27T11:25:00.000-07:00</published><updated>2011-08-27T11:55:48.663-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CSDS"/><category scheme="http://www.blogger.com/atom/ns#" term="invalid pad byte"/><category scheme="http://www.blogger.com/atom/ns#" term="jsafe exception"/><category scheme="http://www.blogger.com/atom/ns#" term="UCM 11g"/><category scheme="http://www.blogger.com/atom/ns#" term="UCM 11g error"/><title type='text'>Content Server won&#39;t start with CSDS failing to get initialized in UCM 11g</title><content type='html'>Recently I got the below error, because of which my managed server (content server) in UCM 11g was getting started with errors but the application won&#39;t come up.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Failed to initialize the application &#39;CSDS&#39; due to error com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad byte..&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;CSDS is the datasource for the DB that UCM connects to. The CSDS datasource configuration and test connection can be done from the Weblogic Server(WLS) console.&lt;br /&gt;&lt;br /&gt;The configuration for CSDS that is viewed through the WLS console is stored in the file &lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;cs-ds-jdbc.xml&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The file is located in the below path&lt;br /&gt;$MiddlewareHOME/user_projects/domains/YOUR_DOMAIN/config/jdbc/cs-ds-jdbc.xml&lt;br /&gt;&lt;br /&gt;The above mentioned error is due to the encrypted password getting corrupted and to resolve it just replace the encrypted password with its corresponding clear text value in the file cs-ds-jdbc.xml&lt;br /&gt;&lt;br /&gt;The password is the schema password to connect to the UCM schema.&lt;br /&gt;&lt;br /&gt;Then restart the server, it should start without any errors and the application should come up.&lt;br /&gt;&lt;br /&gt;Hope this helps someone.</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/5728332954714783755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/5728332954714783755' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/5728332954714783755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/5728332954714783755'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2011/08/content-server-wont-start-with-csds.html' title='Content Server won&#39;t start with CSDS failing to get initialized in UCM 11g'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-8592481548720057088</id><published>2011-08-27T10:48:00.000-07:00</published><updated>2011-08-27T11:15:55.725-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="invalid pad byte"/><category scheme="http://www.blogger.com/atom/ns#" term="jsafe exception"/><category scheme="http://www.blogger.com/atom/ns#" term="Padding exception"/><category scheme="http://www.blogger.com/atom/ns#" term="weblogic server"/><title type='text'>Weblogic server won&#39;t start with invalid pad byte error</title><content type='html'>Many of us would have faced the below error and weblogic server won&#39;t start shortly after either extending a domain or creating a domain or done something related to domain.&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;weblogic.security.internal.encryption.EncryptionServiceException:  com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding:  invalid pad byte.&lt;/span&gt;&lt;br /&gt;                         &lt;br /&gt;I use weblogic 10.3.4. This error occurs when the SerializedSystemIni.dat file gets corrupted. It simply means that the server is unable to decrypt the encrypted passwords because the file that has the hash value to decrypt it - SerializedSystemIni.dat - has got corrupted.&lt;br /&gt;&lt;br /&gt;There is nothing to worry though, this error could be resolved easily.&lt;br /&gt;&lt;br /&gt;All the encrypted passwords in the file config.xml should be replaced with its corresponding clear text (ordinary text) values and then start the server.&lt;br /&gt;&lt;br /&gt;For example if weblogic@123 was your password for the server, then follow the below steps to solve the error.&lt;br /&gt;1) In SecurityConfiguration tag, do the following.&lt;br /&gt;&lt;br /&gt;i) Replace&lt;br /&gt;&amp;lt;node-manager-password-encrypted&gt;{3DES}Va1McYXiUPirK77U+SQfMg==&amp;lt;/node-manager-password-encrypted&gt;&lt;br /&gt;&lt;br /&gt;with&lt;br /&gt;&lt;br /&gt;&amp;lt;node-manager-password-encrypted&gt;weblogic@123&amp;lt;/node-manager-password-encrypted&gt;&lt;br /&gt;&lt;br /&gt;ii) Replace&lt;br /&gt;&amp;lt;credential-encrypted&gt;{3DES}diqufr0TEjlJuLvdnhvtCxEUbxr0yIm8dadNaJRqiefJgGQqcWagiY4tlLX3I3pWa/jpBKeMzyEJgufp/725y1/PXSt0mWOh&amp;lt;/credential-encrypted&gt;&lt;br /&gt;&lt;br /&gt;with&lt;br /&gt;&lt;br /&gt;&amp;lt;credential-encrypted&gt;weblogic@123&amp;lt;/credential-encrypted&gt;&lt;br /&gt;&lt;br /&gt;2) In the EmbeddedLDAP tag do the following.&lt;br /&gt;&lt;br /&gt;Replace&lt;br /&gt;&lt;br /&gt;&amp;lt;embedded-ldap&gt;&lt;br /&gt;&amp;lt;name&gt;Your_Domain&amp;lt;/name&gt;&lt;br /&gt;&amp;lt;credential-encrypted&gt;{3DES}OVxKttua/KHdFNAxuTypkcPZFAcC8kSHQ4X/ZrhTRLUFLAGocQP0yBT7xX7qijqTBMcMBuXkPq0PC19KDuGy2/fAUXMUGpUn&amp;lt;/credential-encrypted&gt;&lt;br /&gt;&amp;lt;/embedded-ldap&gt;&lt;br /&gt;&lt;br /&gt;with&lt;br /&gt;&lt;br /&gt;&amp;lt;embedded-ldap&gt;&lt;br /&gt;&amp;lt;name&gt;Your_Domain&amp;lt;/name&gt;&lt;br /&gt;&amp;lt;credential-encrypted&gt;weblogic@123&amp;lt;/credential-encrypted&gt;&lt;br /&gt;&amp;lt;/embedded-ldap&gt;&lt;br /&gt;&lt;br /&gt;Now start your server. It should start without any error.&lt;br /&gt;&lt;br /&gt;Note: A word of caution - don&#39;t change the order of any of the tags in the config.xml file because if you change it, then you get SchemaValidator error. Just replace the encrypted passwords with its corresponding clear text values.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/8592481548720057088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/8592481548720057088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/8592481548720057088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/8592481548720057088'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2011/08/weblogic-server-wont-start-with-invalid.html' title='Weblogic server won&#39;t start with invalid pad byte error'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-8665827994356294041</id><published>2011-07-29T08:13:00.003-07:00</published><updated>2012-06-24T09:12:25.244-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hiding menus"/><category scheme="http://www.blogger.com/atom/ns#" term="Menu items"/><category scheme="http://www.blogger.com/atom/ns#" term="menus"/><category scheme="http://www.blogger.com/atom/ns#" term="ootb"/><title type='text'>Hiding Navigation Menus in UCM 11g</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
I was facing problem in hiding the menus that were coming by default - Search and Check In in UCM11g. It took a little time to find out the syntax to make the OOTB menus disappear in 11g.&lt;br /&gt;
&lt;br /&gt;
There is a dynamic html named &lt;span style=&quot;font-family: sans-serif; font-size: 85%;&quot;&gt;&lt;b&gt;navigation_filter_rset_menu_&lt;wbr&gt;&lt;/wbr&gt;item &lt;/b&gt;&lt;/span&gt;which is used for this purpose. This dynamic html is defined in the file &quot;&lt;span style=&quot;font-weight: bold;&quot;&gt;std_nav.idoc&lt;/span&gt;&quot;.  Follow the below steps to hide the default menus in UCM 11g.&lt;br /&gt;
&lt;br /&gt;
1) Create an environment variable in your component&#39;s environment.cfg file.&lt;br /&gt;
ShowOOTBMenus=false&lt;br /&gt;
&lt;br /&gt;
2) &amp;lt;@dynamicdata CoreMenuItems@&amp;gt;&lt;br /&gt;
id, label, linkType, linkData&lt;br /&gt;
MY_MENU, MY Custom Menu, cgi, IdcService=CUSTOM_SERVICE&lt;br /&gt;
&amp;lt;@end@&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) &amp;lt;@dynamicdata CoreMenuItemRelationships@&amp;gt;&lt;br /&gt;
parentId, id, loadOrder&lt;br /&gt;
MENU_A, MY_MENU, 30&lt;br /&gt;
&amp;lt;@end@&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) &amp;lt;@dynamicdata CoreMenuItemsFlags@&amp;gt;&lt;br /&gt;
id, flags&lt;br /&gt;
NEW_CHECK_IN, isContributor:isShowOOTBMenus&lt;br /&gt;
&amp;lt;@end@&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5)&amp;lt;@dynamichtml navigation_filter_rset_menu_item@&amp;gt;&lt;br /&gt;
&amp;lt;$include super.navigation_filter_rset_menu_item$&amp;gt;&lt;br /&gt;
&amp;lt;$if not tmpDeleteRow$&amp;gt;&lt;br /&gt;
&amp;lt;$if not isTrue(#env.ShowOOTBMenus) and flags like &quot;*isShowOOTBMenus*&quot;$&amp;gt;&lt;br /&gt;
&amp;lt;$tmpDeleteRow = 1$&amp;gt;&lt;br /&gt;
&amp;lt;$endif$&amp;gt;&lt;br /&gt;
&amp;lt;$endif$&amp;gt;&lt;br /&gt;
&amp;lt;@end@&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This should hide the Check In menu from the top horizontal menu. This is the same process for hiding the left navigation menus and sub menus.&lt;br /&gt;
&lt;br /&gt;
Hope this helps.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/8665827994356294041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/8665827994356294041' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/8665827994356294041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/8665827994356294041'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2011/07/i-was-facing-problem-in-hiding-menus.html' title='Hiding Navigation Menus in UCM 11g'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-2120443962647590815</id><published>2011-05-21T00:38:00.000-07:00</published><updated>2011-05-21T00:46:37.340-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="idc.string.wwStrings"/><category scheme="http://www.blogger.com/atom/ns#" term="lc"/><category scheme="http://www.blogger.com/atom/ns#" term="UCM 11g"/><category scheme="http://www.blogger.com/atom/ns#" term="UCM11g"/><category scheme="http://www.blogger.com/atom/ns#" term="wwStrings"/><title type='text'>Javascript undefined error when using wwStrings in UCM 11g</title><content type='html'>A javascript error is thrown in UCM 11g when wwStrings is used in javascript as in 10g like wwStrings[&quot;someString&quot;].&lt;br /&gt;&lt;br /&gt;This is because in UCM 11g, wwStrings is moved to the namespace &lt;span style=&quot;font-weight: bold;&quot;&gt;idc.string.wwStrings&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So the syntax in UCM 11g to access the strings in javascript  is &lt;span style=&quot;font-weight: bold;&quot;&gt;lc(&quot;someString&quot;)&lt;/span&gt; .&lt;br /&gt;&lt;br /&gt;It took all day long for me to figure out this.</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/2120443962647590815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/2120443962647590815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/2120443962647590815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/2120443962647590815'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2011/05/javascript-undefined-error-when-using.html' title='Javascript undefined error when using wwStrings in UCM 11g'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-7159166715075765687</id><published>2011-05-04T08:40:00.002-07:00</published><updated>2012-03-23T10:08:07.693-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CoreMenuItemRelationships"/><category scheme="http://www.blogger.com/atom/ns#" term="CoreMenutItems"/><category scheme="http://www.blogger.com/atom/ns#" term="Menu items"/><category scheme="http://www.blogger.com/atom/ns#" term="menus"/><category scheme="http://www.blogger.com/atom/ns#" term="UCM 11g"/><title type='text'>Creating custom menu items in Oracle UCM 11g</title><content type='html'>A lot of things have changed in UCM 11g, and there is not much documentation or article on how to make things work as it did in UCM 10g.&lt;br /&gt;&lt;br /&gt;One such thing is creating custom menu items in Oracle UCM 11g.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;CoreMenutItems&lt;/span&gt; and &lt;span style=&quot;font-weight: bold;&quot;&gt;CoreMenuItemRelationships&lt;/span&gt; resources are used to introduce menu items. Below is a sample code on how to get it done.&lt;br /&gt;&lt;br /&gt;&amp;lt;@dynamicdata CoreMenuItems@&amp;gt;&lt;br /&gt;id, label, linkType, linkData&lt;br /&gt;MY_SEARCH, My Custom Search, cgi, IdcService=CUSTOM_SEARCH_SERVICE&lt;br /&gt;&amp;lt;@end@&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;@dynamicdata CoreMenuItemRelationships@&amp;gt;&lt;br /&gt;parentId, id, loadOrder&lt;br /&gt;MENU_A, MY_SEARCH, 30&lt;br /&gt;&amp;lt;@end@&amp;gt;&lt;br /&gt;&lt;br /&gt;Keep checking this space, I will try to bring some more tips on how to achieve&lt;br /&gt;few more things in UCM 11g.</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/7159166715075765687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/7159166715075765687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/7159166715075765687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/7159166715075765687'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2011/05/creating-new-custom-menu-items-in.html' title='Creating custom menu items in Oracle UCM 11g'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-330226731554398480</id><published>2011-03-15T08:45:00.000-07:00</published><updated>2011-05-04T08:30:06.004-07:00</updated><title type='text'>Forcing the user to select an item from ajax suggest box using JQuery</title><content type='html'>Suggest boxes (Type Ahead box) are a great way to display a list of data from database or any other resource from a server in a text box.&lt;br /&gt;&lt;br /&gt;There might be requirement at times to force the users to select from the items displayed in suggest box list and not allow them to enter anything other than the list displayed.&lt;br /&gt;&lt;br /&gt;This can be done easily using JQuery. JQuery has a parameter named &lt;span style=&quot;font-weight: bold; font-style: italic;&quot;&gt;mustMatch&lt;/span&gt; which should be set to &lt;span style=&quot;font-weight: bold; font-style: italic;&quot;&gt;true&lt;/span&gt;. By default mustMatch is set to false. Here is an example.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:sans-serif;font-size:85%;&quot;  &gt;$(&quot;#sampleSuggest&quot;).&lt;wbr&gt;autocomplete(&quot;Server_URL&quot;,&lt;br /&gt;                                {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:sans-serif;font-size:85%;&quot;  &gt;                                        minChars: 3,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:sans-serif;font-size:85%;&quot;  &gt;                                        max: 10,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:sans-serif;font-size:85%;&quot;  &gt;                                        multiple: true,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:sans-serif;font-size:85%;&quot;  &gt;                                        multipleSeparator: &quot;\n&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:sans-serif;font-size:85%;&quot;  &gt;                                        mustMatch: true,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:sans-serif;font-size:85%;&quot;  &gt;                                        &lt;/span&gt;&lt;span style=&quot;;font-family:sans-serif;font-size:85%;&quot;  &gt;matchContains: true,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:sans-serif;font-size:85%;&quot;  &gt;                                        scrollHeight: 220,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:sans-serif;font-size:85%;&quot;  &gt;                                 &lt;/span&gt;&lt;span style=&quot;;font-family:sans-serif;font-size:85%;&quot;  &gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:sans-serif;font-size:85%;&quot;  &gt;&lt;br /&gt;&lt;/span&gt;mustMatch saved my day. I hope it saves someone else&#39;s day.</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/330226731554398480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/330226731554398480' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/330226731554398480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/330226731554398480'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2011/03/forcing-user-to-select-item-from-ajax.html' title='Forcing the user to select an item from ajax suggest box using JQuery'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-337332894563392930</id><published>2010-11-21T04:50:00.000-08:00</published><updated>2012-06-24T09:12:41.987-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="configuration of eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="custom java component"/><category scheme="http://www.blogger.com/atom/ns#" term="development environment"/><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="filter"/><category scheme="http://www.blogger.com/atom/ns#" term="ide"/><title type='text'>Configuring UCM application in Eclipse IDE</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
I tried to set up a development environment to create custom Java components for UCM application using Eclipse IDE. There is a step by step procedure available in Bex&#39;s book and that should suffice to set up development environment for most people. But somehow I was unable to get it set up and working. &lt;br /&gt;
&lt;br /&gt;
After a lot of trial and error method, I got the Content Server to start from within the IDE. I thought of sharing my experience with those who are new to development of custom Java components.&lt;br /&gt;
&lt;br /&gt;
The following step by step procedure is for UCM 10gR3 and Eclipse version 3.4.2.&lt;br /&gt;
&lt;br /&gt;
First let us create a simple component &#39;MyFirstComponent&#39; using Component Wizard. Using this component let us change the filename that is displayed to the title entered during check-in.&lt;br /&gt;
We can achieve this by writing a filter using &lt;span style=&quot;font-weight: bold;&quot;&gt;validateStandard.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Lets set up the component in Eclipse.&lt;br /&gt;
&lt;br /&gt;
Follow the below steps.&lt;br /&gt;
1) Open Eclipse.&lt;br /&gt;
2) Windows -&amp;gt; Preferences -&amp;gt; Java Compiler and set it to Java 1.5.&lt;br /&gt;
3) File -&amp;gt; New -&amp;gt; Project -&amp;gt; Java Project.&lt;br /&gt;
4) Name the project &lt;span style=&quot;font-weight: bold;&quot;&gt;MyFirstComponent&lt;/span&gt; and click &lt;span style=&quot;font-style: italic;&quot;&gt;Next&lt;/span&gt;.&lt;br /&gt;
5) In the &lt;span style=&quot;font-weight: bold;&quot;&gt;Source&lt;/span&gt; tab, click the &lt;span style=&quot;font-weight: bold;&quot;&gt;Browse&lt;/span&gt; button which is present at the bottom of the page besides the &lt;span style=&quot;font-style: italic;&quot;&gt;Default Output Folder&lt;/span&gt; text box.&lt;br /&gt;
6) In the &lt;span style=&quot;font-style: italic;&quot;&gt;Folder Selection&lt;/span&gt; dialog box, select the project name and click &lt;span style=&quot;font-style: italic;&quot;&gt;Create New Folder&lt;/span&gt; button.&lt;br /&gt;
7) In the New Folder dialog box, enter the folder name as &lt;span style=&quot;font-weight: bold;&quot;&gt;classes&lt;/span&gt; and click the &lt;span style=&quot;font-weight: bold;&quot;&gt;Advanced&amp;gt;&amp;gt;&lt;/span&gt; button.&lt;br /&gt;
8) Select the &lt;span style=&quot;font-style: italic;&quot;&gt;Link to folder in the file system&lt;/span&gt; check box. Click browse and browse to the directory &lt;span style=&quot;font-weight: bold;&quot;&gt;ucm/custom/MyFirstComponent/classes&lt;/span&gt;. If classes folder is not there, it must be created and then linked.&lt;br /&gt;
9) Click OK and set the Default Output Folder to &lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;MyFirstComponent/classes.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
10) In the &lt;span style=&quot;font-weight: bold;&quot;&gt;Libraries&lt;/span&gt; tab, add all the jars needed to be in the class path. Some of the mandatory jars are given below.&lt;br /&gt;
ucm/shared/classes/server.zip&lt;br /&gt;
ucm/shared/custom/Folders_g/classes.jar&lt;br /&gt;
It depends on what all is being used in the components. &lt;br /&gt;
11) Click Finish.&lt;br /&gt;
&lt;br /&gt;
Now in the src folder of the project, create a package named &lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;myfirstcomponent&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Then create the below class file in that package.&lt;br /&gt;
&lt;br /&gt;
package myfirstcomponent;&lt;br /&gt;
import intradoc.common.ExecutionContext;&lt;br /&gt;
import intradoc.common.ServiceException;&lt;br /&gt;
import intradoc.data.DataBinder;&lt;br /&gt;
import intradoc.data.DataException;&lt;br /&gt;
import intradoc.data.Workspace;&lt;br /&gt;
import intradoc.shared.FilterImplementor;&lt;br /&gt;
&lt;br /&gt;
public class MyFilter implements FilterImplementor&lt;br /&gt;
{&lt;br /&gt;
public int doFilter(Workspace ws, DataBinder binder,&lt;br /&gt;
ExecutionContext cxt) throws DataException, ServiceException&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
String title = binder.getLocal(&quot;dDocTitle&quot;);&lt;br /&gt;
String fileName = binder.getLocal(&quot;primaryFile&quot;);  &lt;br /&gt;
&lt;br /&gt;
String newFileName = title + fileName.substring(fileName.lastIndexOf(&quot;.&quot;));&lt;br /&gt;
binder.putLocal(&quot;primaryFile&quot;,newFileName);&lt;br /&gt;
&lt;br /&gt;
return FilterImplementor.CONTINUE;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Now build the project, the class file for the above java file, should be created in the path&lt;br /&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;ucm/custom/MyFirstComponent/classes&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
The class file also should be displayed in the classes folder of the proj in Eclipse IDE.&lt;br /&gt;
&lt;br /&gt;
Next configure the above created filter in the component definition file. Open the MyFirstComponent.hda file located in the below location.&lt;br /&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;ucm/custom/MyFirstComponent/MyFirstComponent.hda&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Configure the filters as below.&lt;br /&gt;
@ResultSet Filters&lt;br /&gt;
4&lt;br /&gt;
type&lt;br /&gt;
location&lt;br /&gt;
parameter&lt;br /&gt;
loadOrder&lt;br /&gt;
validateStandard&lt;br /&gt;
myfirstcomponent.MyFilter&lt;br /&gt;
null&lt;br /&gt;
1&lt;br /&gt;
@end&lt;br /&gt;
&lt;br /&gt;
Select the Project in the Eclipse and click &lt;span style=&quot;font-weight: bold;&quot;&gt;Run Configurations&lt;/span&gt; from the &lt;span style=&quot;font-weight: bold;&quot;&gt;Run&lt;/span&gt; menu. &lt;br /&gt;
&lt;br /&gt;
Run Configurations dialog box would have opened. Select &lt;span style=&quot;font-weight: bold;&quot;&gt;Java Application&lt;/span&gt; from the left menu and click &lt;span style=&quot;font-weight: bold;&quot;&gt;New&lt;/span&gt; icon from top.&lt;br /&gt;
&lt;br /&gt;
Give it the name &lt;span style=&quot;font-style: italic;&quot;&gt;MyServer&lt;/span&gt;.&lt;br /&gt;
In the &lt;span style=&quot;font-style: italic;&quot;&gt;Main&lt;/span&gt; tab, for the project browse and select our project MyFirstComponent. Then for the &lt;span style=&quot;font-weight: bold;&quot;&gt;Main class&lt;/span&gt; enter &lt;span style=&quot;font-weight: bold;&quot;&gt;IdcServer&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
In the &lt;span style=&quot;font-style: italic;&quot;&gt;Arguments&lt;/span&gt; tab, in the &lt;span style=&quot;font-style: italic;&quot;&gt;Working Directory&lt;/span&gt; section, select other and enter the below path.&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;D:\oracle\ucm\server\bin&lt;/span&gt; (For you it might be different). You can click &lt;span style=&quot;font-weight: bold;&quot;&gt;FileSystem&lt;/span&gt; button and browse and select the directory.&lt;br /&gt;
&lt;br /&gt;
In the &lt;span style=&quot;font-weight: bold;&quot;&gt;Environment&lt;/span&gt; tab, click &lt;span style=&quot;font-style: italic;&quot;&gt;New&lt;/span&gt; and enter the following name-value pair&lt;br /&gt;
Name : PATH&lt;br /&gt;
Value : D:\oracle\ucm\server\shared\os\win32\lib&lt;br /&gt;
&lt;br /&gt;
You can add more libraries, by separating with a semicolon. It purely depends on your project.&lt;br /&gt;
Click Apply and Close button.&lt;br /&gt;
&lt;br /&gt;
Now we are all set to start the content server from the IDE. Click &lt;span style=&quot;font-weight: bold;&quot;&gt;Run&lt;/span&gt; from the &lt;span style=&quot;font-weight: bold;&quot;&gt;Run&lt;/span&gt; menu. &lt;br /&gt;
&lt;br /&gt;
The content server should start in the Eclipse. Now open a browser and type the url for the application. In my case it was http://localhost/idc. Then check-in a file. The filename after check-in should be display the &lt;span style=&quot;font-weight: bold;&quot;&gt;title&lt;/span&gt; that was entered during check-in.&lt;br /&gt;
&lt;br /&gt;
To run the in Debug mode, just click &lt;span style=&quot;font-weight: bold;&quot;&gt;Debug&lt;/span&gt; from &lt;span style=&quot;font-weight: bold;&quot;&gt;Run&lt;/span&gt; menu.&lt;br /&gt;
&lt;br /&gt;
Happy debugging using Eclipse for UCM applications.&lt;br /&gt;
&lt;br /&gt;
Leave your comments if you have any suggestions,corrections or queries. Have a good day..&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/337332894563392930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/337332894563392930' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/337332894563392930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/337332894563392930'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2010/11/configuring-ucm-application-in-eclipse.html' title='Configuring UCM application in Eclipse IDE'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-9037645981067635803</id><published>2010-11-06T06:28:00.000-07:00</published><updated>2010-11-07T08:15:27.003-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="COLLECTION_MOVE_LOT"/><category scheme="http://www.blogger.com/atom/ns#" term="COLLECTION_UPDATE_ALL"/><category scheme="http://www.blogger.com/atom/ns#" term="COLLECTION_UPDATE_META"/><category scheme="http://www.blogger.com/atom/ns#" term="folder move"/><category scheme="http://www.blogger.com/atom/ns#" term="UPDATE_DOCINFO"/><title type='text'>Folder Move in Oracle UCM (Stellent)</title><content type='html'>I would like to share my experience on COLLECTION_MOVE_LOT service of Oracle UCM 10gR3. This is the service which we used for moving folders from one folder to another in our application.&lt;br /&gt;&lt;br /&gt;There were few problems when we actually started implementing the move functionality. &lt;br /&gt;&lt;br /&gt;First thing is that the folders that were moved and the documents under it did not inherit the metadata values from destination folder. They still retained the same metadata of the source location. &lt;br /&gt;&lt;br /&gt;To overcome this issue, a new method was introduced at the end of all methods in COLLECTION_MOVE_LOT service. This new method&#39;s purpose is to update the metadata of the moved folders and documents as per the destination collection&#39;s metadata. For updation of metadata, we invoked the &lt;span style=&quot;font-weight:bold;&quot;&gt;COLLECTION_UPDATE_META&lt;/span&gt; service from this new method.&lt;br /&gt;&lt;br /&gt;Let me give an overview of the COLLECTION_UPDATE_META service. The COLLECTION_UPDATE_META service is used to propagate the inheritable metadata of the parent folder to all the child folders and documents under it. The propagation of the metadata to the documents is achieved by invoking the COLLECTION_UPDATE_ALL service from inside the code of the service COLLECTION_UPDATE_META.&lt;br /&gt;&lt;br /&gt;So, when the COLLECTION_UPDATE_META service is used along with COLLECTION_MOVE_LOT to propagate the metadata of the destination folder on the folders that got moved, it introduced new problems.&lt;br /&gt;&lt;br /&gt;One problem was that although the moved documents&#39; metadata got updated, the web viewable files of all the documents were not physically relocated according to the destination location&#39;s account settings. So all the web-viewable files were not accessible after folder move operation. I solved this problem by commenting the code which was invoking the &lt;span style=&quot;font-weight:bold;&quot;&gt;COLLECTION_UPDATE_ALL&lt;/span&gt; service and then invoked the &lt;span style=&quot;font-weight:bold;&quot;&gt;UPDATE_DOCINFO&lt;/span&gt; service which updates the metadata of the documents plus physically moves the web-viewable files to the correct location.&lt;br /&gt;&lt;br /&gt;The other problem was COLLECTION_UPDATE_META service, updates all the folders and documents under a specific folder. But our requirement was to update the metadata of only the folders that got moved and the documents under it. So we had to overwrite the &lt;span style=&quot;font-weight:bold;&quot;&gt;setContentAsCollectionMetadata&lt;/span&gt; method which is the method that does the job for the service COLLECTION_UPDATE_META. I just wrote a small logic to propagate the destination folder&#39;s metadata only to the folders that got moved and the documents under it.&lt;br /&gt;&lt;br /&gt;If you have some inputs, corrections or suggestions on this post, please leave a comment, so that I can improve my application.&lt;br /&gt;&lt;br /&gt;Have a good day...</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/9037645981067635803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/9037645981067635803' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/9037645981067635803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/9037645981067635803'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2010/11/folder-move-in-oracle-ucm-stellent.html' title='Folder Move in Oracle UCM (Stellent)'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-88996485863412213</id><published>2010-10-09T06:26:00.000-07:00</published><updated>2012-06-24T09:14:20.562-07:00</updated><title type='text'>UCM Security - Need To Know component - sample step by step implementation</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Guys,&lt;br /&gt;
&lt;br /&gt;
Recently I came across a requirement which had to restrict the standard UCM Content Server security for few documents. Luckily we found there was already a component provided by Oracle just for that purpose (either to extend or restrict the standard security) named &lt;span style=&quot;font-weight: bold;&quot;&gt;Need To Know&lt;/span&gt;. &lt;br /&gt;
&lt;br /&gt;
This component can be downloaded from the Oracle website. Although there was a complete sixty page document for this component, it was no cakewalk for me to get it working. I tried to google but no luck, not much has been written about this component in the internet. So, I thought of writing one and sharing my experience.&lt;br /&gt;
&lt;br /&gt;
The Need to Know component supports customization for Content Security, Search Results, Hit list roles, Content metadata security, and WHERE clause calculation. I will touch upon the Content Security part in this article.&lt;br /&gt;
&lt;br /&gt;
The Need to Know component works on Security Group. &lt;br /&gt;
&lt;br /&gt;
Lets get started with a sample requirement.&lt;br /&gt;
Consider a sample UCM application which has three security groups namely &quot;SECGRP1&quot;, &quot;SECGRP2&quot; and &quot;CONF_SECGRP&quot;. Accounts are enabled (about which we don&#39;t bother for this requirement). The requirement is to restrict access to some of the documents belonging to the Security Group &quot;CONF_SECGRP&quot;. Even if user &quot;A&quot; has read permission on &quot;CONF_SECGRP&quot; as per standard security, we need to restrict it based upon some query given during check-in or update of the document.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Step 1 - Installation :&lt;/span&gt; Install the &quot;Need to Know&quot;(NTK) Component using either Component Manager or Component Wizard. Enable it.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Step 2 - Configuration :&lt;/span&gt; &lt;br /&gt;
a) Open the Admin Server Page and click the General Configuration link.&lt;br /&gt;
b) Under the &quot;Additional Configuration Variables&quot; heading, add the below &lt;br /&gt;
entry at the end of the text area.&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;SpecialAuthGroups=conf_secgrp&lt;/span&gt;&lt;br /&gt;
Only the security groups specified in the SpecialAuthGroups variable will use &lt;br /&gt;
the NTK component. Other security groups will have standard security applied.&lt;br /&gt;
c) Add a new metadata field that will be used for content-item level queries &lt;br /&gt;
(remember our requirement - restrict users based upon some value).&lt;br /&gt;
Add the new metadata field using the Configuration Manager. Use any field &lt;br /&gt;
name you wish. Here we name it as &quot;DocDisclosureQuery&quot;. The field type &lt;br /&gt;
should be &quot;memo&quot;. After adding the field, click &lt;span style=&quot;font-weight: bold;&quot;&gt;Update Database Design&lt;/span&gt;.&lt;br /&gt;
d) Add a hit list role using the User Admin Applet. Create two roles &quot;hitlist-r&quot; &lt;br /&gt;
and &quot;hitlist&quot;. Give read access to &quot;CONF_SECGRP&quot; for the role hitlist-r and &lt;br /&gt;
write access to &quot;CONF_SECGRP&quot; for the role hitlist. Do not assign this role &lt;br /&gt;
to any user.&lt;br /&gt;
e) Restart the content server.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Step 3 - NTK Administration :&lt;/span&gt; In the administration tab, you must be able to see a link for NTK component administration - &lt;span style=&quot;font-weight: bold;&quot;&gt;NTK Configuration Information&lt;/span&gt;. Click on that link. NTK Administration screen looks as below.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4nWJH3zydlau6lmHOZKNqpjQLmwhuEBrEJy_qFFQMXU8KXQ3s1mFYrz9nYdIVGPc9oQmAPWam5ELphSZeGKWambvzoCaeo8CwH8VOwsNbYaYZzwTfdCKHQFZ_dUr06tZ6WxzzFE-uSUY/s1600/ntk+config.bmp&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5526059038202962274&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4nWJH3zydlau6lmHOZKNqpjQLmwhuEBrEJy_qFFQMXU8KXQ3s1mFYrz9nYdIVGPc9oQmAPWam5ELphSZeGKWambvzoCaeo8CwH8VOwsNbYaYZzwTfdCKHQFZ_dUr06tZ6WxzzFE-uSUY/s320/ntk+config.bmp&quot; style=&quot;cursor: hand; display: block; height: 146px; margin: 0px auto 10px; text-align: center; width: 320px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now we need to configure the new metadata field and hit list roles that we created in the last step. &lt;br /&gt;
&lt;br /&gt;
a) Configuring the DocDisclosure field : &lt;br /&gt;
&lt;br /&gt;
Click Edit button on the top right corner and select &quot;Content Security Configuration Information&quot; link. Scroll to the bottom of the page, in the &lt;br /&gt;
&quot;Other Options&quot; section, select the new metadata field that was created as the Disclosure Field and click Update.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD3t8SsRruLVram39Xw8CuF2HuUCt-6nGTfvXI4G0mgB9-RaA4y2-I60zps-mgyDLQWBOOU0pmIT-NsDeg0EWxcVx6CHrjIGXzFrkXJahzCx4hcOk8anvWOxzv_s7IJ9c3AYqLyuMq7kE/s1600/docdisclosure.bmp&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5526067919003266626&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD3t8SsRruLVram39Xw8CuF2HuUCt-6nGTfvXI4G0mgB9-RaA4y2-I60zps-mgyDLQWBOOU0pmIT-NsDeg0EWxcVx6CHrjIGXzFrkXJahzCx4hcOk8anvWOxzv_s7IJ9c3AYqLyuMq7kE/s400/docdisclosure.bmp&quot; style=&quot;cursor: hand; display: block; height: 114px; margin: 0px auto 10px; text-align: center; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
b) Configuring the Hit List Role : &lt;br /&gt;
&lt;br /&gt;
Click Edit button on the top right corner and select &quot;Hit List Roles Configuration Information&quot; link. Select &quot;hitlist-r&quot; role as Query Role and &quot;hitlist&quot; role as Update Role and click Update.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqWNvetZmZuQ-CSEEgflakijDJD8RXNJtTvNz_KxjnBtIIyEu9qXRGF7v2ZkJ8ZsFgDJvC_cmIKpbRX7Y8JcU3DdGhKG82BSPBktTlR52kKahWamiMcOjld_fRIYNq3QG3t1KQt2HsOlQ/s1600/hitlist.bmp&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5526069113347040258&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqWNvetZmZuQ-CSEEgflakijDJD8RXNJtTvNz_KxjnBtIIyEu9qXRGF7v2ZkJ8ZsFgDJvC_cmIKpbRX7Y8JcU3DdGhKG82BSPBktTlR52kKahWamiMcOjld_fRIYNq3QG3t1KQt2HsOlQ/s400/hitlist.bmp&quot; style=&quot;cursor: hand; display: block; height: 137px; margin: 0px auto 10px; text-align: center; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
c) Limiting Access : &lt;br /&gt;
&lt;br /&gt;
In the &quot;Content Security Configuration Information&quot; page, under the &quot;Read Options&quot; section, select &quot;Yes&quot; for both &quot;Use Security&quot; and &quot;Limit Access&quot;. Since our requirement is to limit read access, we did the above configuration only in the &quot;Read Options&quot; section.&lt;br /&gt;
&lt;br /&gt;
In the &quot;Script&quot; text area, write the below script which will determine the read access, based upon the content-item level query given during check-in or update of the document.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;$if isDisclosureQuery(xDocDisclosureQuery)$&amp;gt;&lt;br /&gt;
&amp;lt;$isNTKReadAccess=1$&amp;gt;&lt;br /&gt;
&amp;lt;$endif$&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click Update button.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpr-KJ8aHwF7wHYbSNPIz6Nu0JpsAHc7IBowUeCInskEPht2vrK_3t9U4Pm_VGRbbqWkCuOpDWwTmDWH0pzOHIV86G8Bro9t75lGhh4rdeIQZG7wlLios8kF_tC9aVC6vXmGshH_evGf8/s1600/read+options.bmp&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5526075844806090706&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpr-KJ8aHwF7wHYbSNPIz6Nu0JpsAHc7IBowUeCInskEPht2vrK_3t9U4Pm_VGRbbqWkCuOpDWwTmDWH0pzOHIV86G8Bro9t75lGhh4rdeIQZG7wlLios8kF_tC9aVC6vXmGshH_evGf8/s400/read+options.bmp&quot; style=&quot;cursor: hand; display: block; height: 140px; margin: 0px auto 10px; text-align: center; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now the NTK Configuration Information Page should appear as below reflecting the configurations done till now.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdn_fAjBPizzqmw7mbjHZhCUwHb8rJyVmtTzNfaIQ1c8SGO2hPlw8lctK4pwMEJ-QVXxmK1zJAczGAUx9ItIn2kfQAWkPWwej0XWGZJ2KQ5CJrgcuCeNRBgYQzIvQhSJXdT6utkL61lJY/s1600/ntk+conf.bmp&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5526077434782330370&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdn_fAjBPizzqmw7mbjHZhCUwHb8rJyVmtTzNfaIQ1c8SGO2hPlw8lctK4pwMEJ-QVXxmK1zJAczGAUx9ItIn2kfQAWkPWwej0XWGZJ2KQ5CJrgcuCeNRBgYQzIvQhSJXdT6utkL61lJY/s400/ntk+conf.bmp&quot; style=&quot;cursor: hand; display: block; height: 183px; margin: 0px auto 10px; text-align: center; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Step 4 :&lt;/span&gt; Click the &quot;New Check In&quot; link in the top menu and in the Content Check In form now a new metadata field for DocDisclosureQuery will appear along with a &quot;update&quot; button adjacent besides it.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS_-JKhp99acDOa86pjTmC78J-O77BhZ2QErQSqP3B1axWLbkVxrfaOqdJRqy4TERKxZfUCv3kviEspNvfaKVT913npHT-LxreRShKqU2iD3wyq_FmIA4fmnkxNQiBzNnJuKL4tnMNLkc/s1600/checkin.bmp&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5526078230614829970&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS_-JKhp99acDOa86pjTmC78J-O77BhZ2QErQSqP3B1axWLbkVxrfaOqdJRqy4TERKxZfUCv3kviEspNvfaKVT913npHT-LxreRShKqU2iD3wyq_FmIA4fmnkxNQiBzNnJuKL4tnMNLkc/s400/checkin.bmp&quot; style=&quot;cursor: hand; display: block; height: 189px; margin: 0px auto 10px; text-align: center; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The DocDisclosureQuery applet will be loaded by clicking the update button adjacent to the DocDisclosureQuery field. This applet will contain all the user attributes which can be used to form a content item level query that determines the access on top of standard security.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Step 5 - Check-in a document : &lt;/span&gt;&lt;br /&gt;
We are all set to check-in a document, specify a content level query and check whether all this works.&lt;br /&gt;
&lt;br /&gt;
Click &quot;New Check In&quot; link in the menu.&lt;br /&gt;
1) Give the title of the document.&lt;br /&gt;
2) Select the Security Group - the one that is specified in SpecialAuthGroups.&lt;br /&gt;
3) Browse the document.&lt;br /&gt;
4) Enter all other metadata as per your application.&lt;br /&gt;
&lt;br /&gt;
5) Content Item Level Query :&lt;br /&gt;
Click the Update button adjacent to the DocDisclosureQuery field. In the applet &lt;br /&gt;
select the &quot;Field&quot; as &quot;Username&quot;, &quot;Operator&quot; as &quot;Is&quot; and Value as &lt;any &lt;br=&quot;&quot; user=&quot;&quot; who=&quot;&quot;&gt;should be allowed to view this document&amp;gt;. Click Add button. The query &lt;br /&gt;
&quot;Username is selvam&quot; appears in the &quot;Query Expression&quot; text area.&lt;br /&gt;
You can form complex queries by making use of different user attributes and the &lt;br /&gt;
Add, Update and Merge buttons in the applet. For our example we will stick with &lt;br /&gt;
one user attrubute to form the query - Username.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-TDNJIh00V_984EiMqZ9g4oaTgQ6vhFxeNiyZn6gz2GStND6FBY6yPB5DX7gbLXgljuE4hHf8jDjSeJLagZqDpWpG6ml0-OA7vbSDanEZ3QyZBqDW_BISdPiMFBvyPiCID5a24_LjWE0/s1600/applet-cong.bmp&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5526082571680200002&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-TDNJIh00V_984EiMqZ9g4oaTgQ6vhFxeNiyZn6gz2GStND6FBY6yPB5DX7gbLXgljuE4hHf8jDjSeJLagZqDpWpG6ml0-OA7vbSDanEZ3QyZBqDW_BISdPiMFBvyPiCID5a24_LjWE0/s400/applet-cong.bmp&quot; style=&quot;cursor: hand; display: block; height: 291px; margin: 0px auto 10px; text-align: center; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Click Append button. The query should now appear in the DocDisclosureQuery field text area as below. You can even directly edit the query in the DocDisclosureQuery field text area.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2uURzHvGCXlxSaB4uQmgUNDlJ0Op9K7ONd8wb5g0oqERv1IkkhPJuN1XNrVzMSt6EL4dHLioaPJ7Tm7ut0OOVd3vLzcTc_AFtmx0LJeaCyZaQmPPraiBSObQ-pxNdyl2FWdGIVISNGUE/s1600/checkin+page.bmp&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5526083833190873090&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2uURzHvGCXlxSaB4uQmgUNDlJ0Op9K7ONd8wb5g0oqERv1IkkhPJuN1XNrVzMSt6EL4dHLioaPJ7Tm7ut0OOVd3vLzcTc_AFtmx0LJeaCyZaQmPPraiBSObQ-pxNdyl2FWdGIVISNGUE/s400/checkin+page.bmp&quot; style=&quot;cursor: hand; display: block; height: 239px; margin: 0px auto 10px; text-align: center; width: 400px;&quot; /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
Click &quot;Check In&quot;. The document is successfully checked in now.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Step 6 - Testing the NTK security :&lt;/span&gt;&lt;br /&gt;
Login using user &quot;selvam&quot; and try to access the above checked-in document. This user must be able to view the content information page of the document.&lt;br /&gt;
&lt;br /&gt;
Login using any other user who have read access to &quot;CONF_SECGRP&quot; other than &quot;selvam&quot; and try to access the document. &quot;Insufficient Access Privilege&quot; error will be thrown.&lt;br /&gt;
&lt;br /&gt;
This is a very simple example of extending standard UCM security using NTK component.&lt;br /&gt;
&lt;br /&gt;
There is one other thing to be noted here. If in your application, the virtual folders belong to the security group specified in the SpecialAuthGroups, and if the Read Access is limited using NTK component, then users won&#39;t be able to view the folders. There will be number of ways to overcome this problem. I did it the following way. There is a filter called &quot;checkExtendedSecurityModelDocAccess&quot;. NTK makes use of this filter to extend the standard UCM security. The actual class implementing this filter is &quot;NTKFilter&quot; in the NTK component. So you can override this filter in such a way that the NTK security is not applied for the COLLECTION related services.&lt;br /&gt;
&lt;br /&gt;
Hope this post serves as a good starting point to extend Standard UCM security using NTK component.&lt;br /&gt;
&lt;br /&gt;
Good day..&lt;/any&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/88996485863412213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/88996485863412213' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/88996485863412213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/88996485863412213'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2010/10/sample-step-by-step-implementation.html' title='UCM Security - Need To Know component - sample step by step implementation'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4nWJH3zydlau6lmHOZKNqpjQLmwhuEBrEJy_qFFQMXU8KXQ3s1mFYrz9nYdIVGPc9oQmAPWam5ELphSZeGKWambvzoCaeo8CwH8VOwsNbYaYZzwTfdCKHQFZ_dUr06tZ6WxzzFE-uSUY/s72-c/ntk+config.bmp" height="72" width="72"/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-3736000643664771589</id><published>2010-09-05T07:21:00.000-07:00</published><updated>2010-09-05T07:37:34.999-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="auto completion"/><category scheme="http://www.blogger.com/atom/ns#" term="ctrl + space"/><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><title type='text'>Autocomplete feature not working in eclipse</title><content type='html'>If the auto complete feature is not working in eclipse, then check the below setting in eclipse.&lt;br /&gt;&lt;br /&gt;Go to Windows-&gt;Preferences-&gt;Java-&gt;Editor-&gt;Content Assist-&gt;Advanced and check whether the option &quot;Other Java Proposals(Focused)&quot; is checked or not.&lt;br /&gt;&lt;br /&gt;If this option is not ticked, then tick that option. This shall resolve the problem.</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/3736000643664771589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/3736000643664771589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/3736000643664771589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/3736000643664771589'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2010/09/autocomplete-feature-not-working-in.html' title='Autocomplete feature not working in eclipse'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-3363521438571820025</id><published>2010-08-27T11:46:00.000-07:00</published><updated>2010-08-27T12:07:55.521-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="check box"/><category scheme="http://www.blogger.com/atom/ns#" term="disable check box"/><category scheme="http://www.blogger.com/atom/ns#" term="html"/><title type='text'>Radio Button Functionality in Check boxes</title><content type='html'>Sometimes we need to implement the functionality of radio buttons using check boxes. It is very rare, but then...... This is just a very simple example..&lt;br /&gt;&lt;br /&gt;&amp;lt;HTML&amp;gt;&lt;br /&gt; &amp;lt;HEAD&amp;gt;&lt;br /&gt;  &amp;lt;script language=&#39;Javascript&#39;&amp;gt;&lt;br /&gt;&lt;br /&gt; function disableCheckbox(form)&lt;br /&gt; {&lt;br /&gt;  var count = 0;&lt;br /&gt;  var loc = &quot;&quot;;&lt;br /&gt;  var table = document.getElementById(&#39;table1&#39;);&lt;br /&gt;  var rows = table.getElementsByTagName(&quot;tr&quot;);   &lt;br /&gt;  if(form.chks.length)&lt;br /&gt;  {&lt;br /&gt;   for (var j=0;j&amp;lt;form.chks.length;j++)&lt;br /&gt;   {     &lt;br /&gt;    if (form.chks[j].checked)&lt;br /&gt;    {&lt;br /&gt;     count = 1;&lt;br /&gt;     loc = j;&lt;br /&gt;     break;&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;   if(count == 1)&lt;br /&gt;   {&lt;br /&gt;    for(var j=0;j&amp;lt;form.chks.length;j++)&lt;br /&gt;    {&lt;br /&gt;     if(j != loc)&lt;br /&gt;     {&lt;br /&gt;      form.chks[j].disabled=&#39;true&#39;;   &lt;br /&gt;     }&lt;br /&gt;     else&lt;br /&gt;     {&lt;br /&gt;      rows[j].className=&quot;shaded&quot;;&lt;br /&gt;     }&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;   if(count == 0)&lt;br /&gt;   { &lt;br /&gt;    for(var j=0;j&amp;lt;form.chks.length;j++)&lt;br /&gt;    {&lt;br /&gt;     form.chks[j].checked=false;&lt;br /&gt;     form.chks[j].disabled=false; &lt;br /&gt;     rows[j].className=&quot;notshaded&quot;;&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;   }&lt;br /&gt;   else&lt;br /&gt;   {&lt;br /&gt;   if(form.chks.checked)&lt;br /&gt;    rows[0].className=&quot;shaded&quot;;&lt;br /&gt;   else&lt;br /&gt;    rows[0].className=&quot;notshaded&quot;;&lt;br /&gt;   }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;  &amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;style&amp;gt; &lt;br /&gt;  .notshaded {background-color: &quot;#ffffff&quot;;} &lt;br /&gt;  .shaded{background-color: &quot;#E8E8E8&quot;;} &lt;br /&gt;  &amp;lt;/style&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;/HEAD&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;BODY&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;form&amp;gt;&lt;br /&gt;  &lt;br /&gt;  &amp;lt;table id=&#39;table1&#39; border=&quot;1&quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;tr&amp;gt;&lt;br /&gt;    &amp;lt;td&amp;gt;&lt;br /&gt;     &amp;lt;input type=&quot;checkbox&quot; name=&quot;chks&quot; value=&quot;first&quot; onclick=&quot;disableCheckbox(this.form);&quot;  disabled=&#39;true&#39;/&amp;gt; &lt;br /&gt;    &amp;lt;/td&amp;gt;&lt;br /&gt;    &amp;lt;td&amp;gt;First&amp;lt;/td&amp;gt;&lt;br /&gt;   &amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;tr class=&quot;shaded&quot;&amp;gt;&lt;br /&gt;    &amp;lt;td&amp;gt;&lt;br /&gt;     &amp;lt;input type=&quot;checkbox&quot; name=&quot;chks&quot; value=&quot;second&quot; onclick=&quot;disableCheckbox(this.form);&quot; checked=&quot;true&quot;/&amp;gt;&lt;br /&gt;    &amp;lt;/td&amp;gt;&lt;br /&gt;    &amp;lt;td&amp;gt;Second&amp;lt;/td&amp;gt;&lt;br /&gt;   &amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;tr&amp;gt;&lt;br /&gt;    &amp;lt;td&amp;gt;&lt;br /&gt;     &amp;lt;input type=&quot;checkbox&quot; name=&quot;chks&quot; value=&quot;third&quot; onclick=&quot;disableCheckbox(this.form);&quot;  disabled=&#39;true&#39;/&amp;gt; &lt;br /&gt;    &amp;lt;/td&amp;gt;&lt;br /&gt;    &amp;lt;td&amp;gt;Third&amp;lt;/td&amp;gt;&lt;br /&gt;   &amp;lt;/tr&amp;gt;&lt;br /&gt;   &lt;br /&gt;  &amp;lt;/table&amp;gt;&lt;br /&gt; &amp;lt;/form&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;/BODY&amp;gt;&lt;br /&gt;&amp;lt;/HTML&amp;gt;</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/3363521438571820025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/3363521438571820025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/3363521438571820025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/3363521438571820025'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2010/08/radio-button-functionality-in-check.html' title='Radio Button Functionality in Check boxes'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-5396155432750015308</id><published>2009-11-21T12:29:00.000-08:00</published><updated>2009-11-21T12:41:06.398-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="content server"/><category scheme="http://www.blogger.com/atom/ns#" term="content server start problem"/><category scheme="http://www.blogger.com/atom/ns#" term="error"/><category scheme="http://www.blogger.com/atom/ns#" term="start error"/><category scheme="http://www.blogger.com/atom/ns#" term="ucm"/><category scheme="http://www.blogger.com/atom/ns#" term="ucm error"/><title type='text'>UCM Content Server Error</title><content type='html'>Sometimes UCM Content Server doesnot start when you attempt to start it. If the error is one of the below, then it is because some other service is already listening on that port. So kill that process and the content server will start sweetly.&lt;br /&gt;&lt;br /&gt;Follow my earlier post &quot;How to find the process which is using a port&quot; or do a google search on how to find the process which is already listening on a port.&lt;br /&gt;&lt;br /&gt;After you the find the process listening on the port that content server is attempting to listen kill that process and then start the content server.&lt;br /&gt;It should be java.exe.&lt;br /&gt;&lt;br /&gt;*********************************************************&lt;br /&gt;C1Node1: Unable to start the providers for &#39;Idc Content Service idc&#39;. Unable to start the system provider &#39;SystemServerSocket&#39;. Could not listen on address 10.102.65.46 port 4444. java.net.BindException: Address already in use: JVM_Bind [ Details ] &lt;br /&gt;An error has occurred. The stack trace below shows more information.&lt;br /&gt;&lt;br /&gt;!$C1Node1: !csUnableToStartProviders,Idc Content Service idc!csProviderUnableToStartSystem,SystemServerSocket!csCouldNotListen,10.102.65.46,4444!syExceptionType2,java.net.BindException,Address already in use: JVM_Bind&lt;br /&gt;intradoc.common.ServiceException: !csProviderUnableToStartSystem,SystemServerSocket&lt;br /&gt; at intradoc.server.IdcSystemLoader.prepareStartMonitorProviders(IdcSystemLoader.java:2104)&lt;br /&gt; at intradoc.server.IdcManagerBase.startProviders(IdcManagerBase.java:67)&lt;br /&gt; at intradoc.server.IdcManagerBase.serviceStart(IdcManagerBase.java:297)&lt;br /&gt; at intradoc.server.IdcServerManager.serviceStart(IdcServerManager.java:170)&lt;br /&gt; at IdcServerNT.init(IdcServerNT.java:87)&lt;br /&gt; at IdcServerNT.main(IdcServerNT.java:54)&lt;br /&gt;Caused by: intradoc.data.DataException: !csCouldNotListen,10.102.65.46,4444&lt;br /&gt; at intradoc.provider.SocketIncomingProvider.startProvider(SocketIncomingProvider.java:255)&lt;br /&gt; at intradoc.provider.Provider.startProvider(Provider.java:83)&lt;br /&gt; at intradoc.provider.Provider.startProvider(Provider.java:76)&lt;br /&gt; at intradoc.server.IdcSystemLoader.prepareStartMonitorProviders(IdcSystemLoader.java:2081)&lt;br /&gt; ... 5 more&lt;br /&gt;Caused by: java.net.BindException: Address already in use: JVM_Bind&lt;br /&gt; at java.net.PlainSocketImpl.socketBind(Native Method)&lt;br /&gt; at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)&lt;br /&gt; at java.net.ServerSocket.bind(ServerSocket.java:319)&lt;br /&gt; at intradoc.provider.SocketIncomingProvider.createServerSocket(SocketIncomingProvider.java:544)&lt;br /&gt; at intradoc.provider.SocketIncomingProvider.startProvider(SocketIncomingProvider.java:235)&lt;br /&gt;**********************************************************&lt;br /&gt;&lt;br /&gt;C1Node1: Failed to initialize the server. Unable to start the system provider &#39;SystemServerSocket&#39;. Could not listen on address 10.102.65.46 port 4444. java.net.BindException: Address already in use: JVM_Bind [ Details ] &lt;br /&gt;A fatal error has occurred. The stack trace below shows more information.&lt;br /&gt;&lt;br /&gt;!$C1Node1: !csFailedToInitServer!csProviderUnableToStartSystem,SystemServerSocket!csCouldNotListen,10.102.65.46,4444!syExceptionType2,java.net.BindException,Address already in use: JVM_Bind&lt;br /&gt;intradoc.common.ServiceException: !csProviderUnableToStartSystem,SystemServerSocket&lt;br /&gt; at intradoc.server.IdcSystemLoader.prepareStartMonitorProviders(IdcSystemLoader.java:2104)&lt;br /&gt; at intradoc.server.IdcManagerBase.startProviders(IdcManagerBase.java:67)&lt;br /&gt; at intradoc.server.IdcManagerBase.serviceStart(IdcManagerBase.java:297)&lt;br /&gt; at intradoc.server.IdcServerManager.serviceStart(IdcServerManager.java:170)&lt;br /&gt; at IdcServerNT.init(IdcServerNT.java:87)&lt;br /&gt; at IdcServerNT.main(IdcServerNT.java:54)&lt;br /&gt;Caused by: intradoc.data.DataException: !csCouldNotListen,10.102.65.46,4444&lt;br /&gt; at intradoc.provider.SocketIncomingProvider.startProvider(SocketIncomingProvider.java:255)&lt;br /&gt; at intradoc.provider.Provider.startProvider(Provider.java:83)&lt;br /&gt; at intradoc.provider.Provider.startProvider(Provider.java:76)&lt;br /&gt; at intradoc.server.IdcSystemLoader.prepareStartMonitorProviders(IdcSystemLoader.java:2081)&lt;br /&gt; ... 5 more&lt;br /&gt;Caused by: java.net.BindException: Address already in use: JVM_Bind&lt;br /&gt; at java.net.PlainSocketImpl.socketBind(Native Method)&lt;br /&gt; at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)&lt;br /&gt; at java.net.ServerSocket.bind(ServerSocket.java:319)&lt;br /&gt; at intradoc.provider.SocketIncomingProvider.createServerSocket(SocketIncomingProvider.java:544)&lt;br /&gt; at intradoc.provider.SocketIncomingProvider.startProvider(SocketIncomingProvider.java:235)</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/5396155432750015308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/5396155432750015308' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/5396155432750015308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/5396155432750015308'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2009/11/ucm-content-server-error.html' title='UCM Content Server Error'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-3150464869465753100</id><published>2009-11-21T12:10:00.000-08:00</published><updated>2009-11-21T12:29:22.826-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="listening a port"/><category scheme="http://www.blogger.com/atom/ns#" term="netstat"/><category scheme="http://www.blogger.com/atom/ns#" term="ports"/><category scheme="http://www.blogger.com/atom/ns#" term="process using port"/><category scheme="http://www.blogger.com/atom/ns#" term="using a port"/><title type='text'>How to find which process is using a port in Windows</title><content type='html'>The netstat command is used to display the TCP/IP network protocol statistics and information. &lt;br /&gt;&lt;br /&gt;For help and to find all the options available with netstat command execute the below command.&lt;br /&gt;c:/&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;netstat /?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To find all the open ports and which process is listening on those ports in Windows 2003 server follow the below steps.&lt;br /&gt;&lt;br /&gt;Go to command prompt and type &lt;span style=&quot;font-weight:bold;&quot;&gt;netstat -ano&lt;/span&gt;&lt;br /&gt;It gives you the result of all active process running on the system along with the port to which they listen.&lt;br /&gt;&lt;br /&gt;Then once you get the process id(PID) from the above step, &lt;br /&gt;Go to Task Manager -&gt; Processes tab.&lt;br /&gt;Click View Menu -&gt; Select Columns..&lt;br /&gt;And select the check box of PID so that it gets displayed on the Processes tab.&lt;br /&gt;Now using the PID got from the first step, get the process name which is listening on a particular port.</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/3150464869465753100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/3150464869465753100' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/3150464869465753100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/3150464869465753100'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2009/11/how-to-find-which-process-is-using-port.html' title='How to find which process is using a port in Windows'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-7389934592898528050</id><published>2009-09-21T10:43:00.000-07:00</published><updated>2009-09-21T10:45:37.378-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="free ebooks"/><category scheme="http://www.blogger.com/atom/ns#" term="technical"/><title type='text'>Ebooks</title><content type='html'>Books of every technology is available for free in this site in pdf format.&lt;br /&gt;www.flazx.com</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/7389934592898528050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/7389934592898528050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/7389934592898528050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/7389934592898528050'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2009/09/ebooks.html' title='Ebooks'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-1673716118302384903</id><published>2009-09-08T12:20:00.000-07:00</published><updated>2009-09-08T12:39:26.928-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="jsp version"/><category scheme="http://www.blogger.com/atom/ns#" term="server information"/><category scheme="http://www.blogger.com/atom/ns#" term="servlet version"/><title type='text'>Servlet and Jsp Version and Server Information</title><content type='html'>Servlet and Jsp Version and also the Server information such as name and version that is being used can be obtained using the follwing code.&lt;br /&gt;&lt;br /&gt;package com.servlet;&lt;br /&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.PrintWriter;&lt;br /&gt;&lt;br /&gt;import javax.servlet.ServletException;&lt;br /&gt;import javax.servlet.http.HttpServlet;&lt;br /&gt;import javax.servlet.http.HttpServletRequest;&lt;br /&gt;import javax.servlet.http.HttpServletResponse;&lt;br /&gt;import javax.servlet.jsp.JspFactory;&lt;br /&gt;&lt;br /&gt;public class VersionServlet extends HttpServlet {&lt;br /&gt;       &lt;br /&gt; protected void doGet(HttpServletRequest request, &lt;br /&gt;                             HttpServletResponse response) &lt;br /&gt;                             throws ServletException, IOException {&lt;br /&gt;  &lt;br /&gt;  PrintWriter out = response.getWriter();&lt;br /&gt;  &lt;br /&gt;  //Servlet Version&lt;br /&gt;  //getMajorVersion() -&gt; Returns the major version of the Java Servlet API that this servlet container supports.&lt;br /&gt;  //getMinorVersion() -&gt; Returns the minor version of the Servlet API that this servlet container supports.&lt;br /&gt;  out.println(&quot;Servlet Version &quot; + &lt;br /&gt;this.getServletContext().getMajorVersion() + &quot;.&quot; + &lt;br /&gt;this.getServletContext().getMinorVersion());&lt;br /&gt;  &lt;br /&gt;  //Jsp Version&lt;br /&gt;  out.println(&quot;Jsp Version &quot; + &lt;br /&gt;JspFactory.getDefaultFactory().getEngineInfo().&lt;br /&gt;getSpecificationVersion());&lt;br /&gt;&lt;br /&gt;  //ServerInformation&lt;br /&gt;  //getServerInfo -&gt; Returns the name and version of the servlet container on which the servlet is running.&lt;br /&gt;  out.println(&quot;Server Info &quot; + this.getServletContext().getServerInfo());&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {&lt;br /&gt;  // TODO Auto-generated method stub&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/1673716118302384903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/1673716118302384903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/1673716118302384903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/1673716118302384903'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2009/09/servlet-and-jsp-version-and-server.html' title='Servlet and Jsp Version and Server Information'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-5007180332744073684</id><published>2009-07-28T12:33:00.000-07:00</published><updated>2009-07-28T12:37:42.397-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="replace"/><category scheme="http://www.blogger.com/atom/ns#" term="replaceall"/><category scheme="http://www.blogger.com/atom/ns#" term="string"/><title type='text'>Case Insensitive Replace in Java</title><content type='html'>public class TestReplaceAll {&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt;  String str = &quot;I am a programMeR&quot;;&lt;br /&gt;  System.out.println(&quot;input : &quot; + str); &lt;br /&gt;  str = str.replaceAll(&quot;(?i)programmer&quot;, &quot;developer&quot;); &lt;br /&gt;  System.out.println(&quot;output : &quot; + str); &lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;This program might be helpful in replacing words which are not consistent with respect to case in a string. This piece of code was given by a colleague.</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/5007180332744073684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/5007180332744073684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/5007180332744073684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/5007180332744073684'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2009/07/case-insensitive-replace-in-java.html' title='Case Insensitive Replace in Java'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-2145716176384642080</id><published>2009-07-26T12:02:00.000-07:00</published><updated>2009-07-26T12:24:59.422-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="validation"/><title type='text'>Simple Javascript code for validating only numbers in a text box</title><content type='html'>A small script which will allow only numbers to be typed inside a textbox.&lt;br /&gt;No other character or symbol will be allowed.&lt;br /&gt;This would be helpful if we have a field in which only numbers should be entered by user.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function validateForNumbers(valFromTextBox)&lt;br /&gt;{&lt;br /&gt;if(valFromTextBox.value.length&gt;0)&lt;br /&gt;{&lt;br /&gt;valFromTextBox.value =&lt;br /&gt;valFromTextBox.value.replace(/[^\d]+/g, &#39;&#39;);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Call this function on &quot;onkeyup&quot; event.&lt;br /&gt;&lt;br /&gt;Bye...</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/2145716176384642080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/2145716176384642080' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/2145716176384642080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/2145716176384642080'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2009/07/simple-javascript-code-for-validating.html' title='Simple Javascript code for validating only numbers in a text box'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-6661990699339970846</id><published>2009-07-26T06:18:00.001-07:00</published><updated>2009-07-26T06:28:54.068-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="decimal"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="round"/><category scheme="http://www.blogger.com/atom/ns#" term="rounding"/><title type='text'>Java - Rounding floating point numbers to a certain number of decimal places</title><content type='html'>Small piece of code to round decimal numbers to specified number of decimal places.&lt;br /&gt;public float Round(float val, int roundOffTo){&lt;br /&gt;       float p = (float)Math.pow(10,roundOffTo);&lt;br /&gt;       val = val * p;&lt;br /&gt;       float tmp = Math.round(val);&lt;br /&gt;       return (float)tmp/p;&lt;br /&gt;}</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/6661990699339970846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/6661990699339970846' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/6661990699339970846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/6661990699339970846'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2009/07/java-rounding-floating-point-numbers-to.html' title='Java - Rounding floating point numbers to a certain number of decimal places'/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1563658570392875848.post-4431419716838488947</id><published>2009-07-19T06:38:00.000-07:00</published><updated>2009-07-19T06:40:54.145-07:00</updated><title type='text'></title><content type='html'>Hi.. Started off blogging 2day..</content><link rel='replies' type='application/atom+xml' href='http://selvam2day.blogspot.com/feeds/4431419716838488947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1563658570392875848/4431419716838488947' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/4431419716838488947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1563658570392875848/posts/default/4431419716838488947'/><link rel='alternate' type='text/html' href='http://selvam2day.blogspot.com/2009/07/hi.html' title=''/><author><name>Selvam</name><uri>http://www.blogger.com/profile/05990989244770361078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>