find ADF Faces Components in Page by javascript-findComponent

When we using JavaScript with ADF, the AdfPage.PAGE.findComponentByAbsoluteId() and AdfPage.PAGE.findComponent() are useful.

-> Search by the component ID – use findComponentByAbsoluteId function
-> Search in component that stamps its children – use findComponentByAbsoluteLocator function Relative Search
-> Use findComponent function. This function searches the component clientId which can be renderer implementation specific.

you can write a java script function like

    <af:resource type="javascript">
          function contactsPopupOpenListener(evnt) { var contactBtn =
          AdfPage.PAGE.findComponent("T:topMenuLink_contact");
          contactBtn.setStyleClass("OCCTopMenuContactLinkActive"); } function
          contactsPopupCloseListener(evnt) { var contactBtn =
          AdfPage.PAGE.findComponent("T:topMenuLink_contact");
          contactBtn.setStyleClass("OCCTopMenuContactLink"); }
        </af:resource>

happy finding of component with Vinay in Techartifact…. 🙂

How to connect with UCM in ADF using RIDC API

In order to get things started you need to install the WebCenter extensions for JDeveloper, create a WebCenter Portal project and configure a Content Server connection to point to a running instance of UCM 11g..

Once you have these in place, you can start programming RIDC. I will describe below the most useful operations that can be performed using the API.

            IdcContext idcContext = new IdcContext("weblogic", "welcome1");
            IdcClientManager clientManager = new IdcClientManager();
            try {
                // Create idc client
                IdcClient client = clientManager.createClient("idc://dummy.com:4444");
                // Create a new binder
                DataBinder dataBinder = client.createBinder();
                // set parameter for service call
               // dataBinder.putLocal(WCCConstants.KEY_IDC_SERVICE, "DELETE_REV");
                //
                dataBinder.putLocal(CWCCConstants.KEY_TIMESTAMP, ts.toString());            logger.fine("get response");
            result = response.getResponseAsBinder();
        } catch (IdcClientException e) {
            throw new ContentServiceException("Error in request IdcClient: " + e.getMessage(), e);
        }
        return result;
    

Using this way we can call the UCM service and get the result set.

Happy coding with Vinay in Techartifact.

Full text search using RIDC API in webcenter Content (UCM)

Requirment -I got task to accomplish to Search UCM using RIDC.

Solution– After spending so much time on it.I got solution on some blog.Not recall the blog name.for my reference , i am writing here.

We need to change some confi file which is in specified path –

Oracle/middleware/userprojects/yourdomain/ucm/cs/config/confing.cfg

There will be property name ‘SearchIndexerEngineName’ equal OracleTextSearch i.e

SearchIndexerEngineName=OracleTextSearch

Delete this and add the following one

SearchIndexerEngineName=DATABASE.FULLTEXT

Then by calling the RIDC API it enable Full text Search in UCM.

IdcClientManager manager = new IdcClientManager();
IdcClient idcClient = manager.createClient(“idc://192.167.3.232:4444″);

IdcContext userContext =new IdcContext('username', 'pwd'); 
DataBinder binder = idcClient.createBinder();

binder.putLocal(“IdcService”, “GET_SEARCH_RESULTS”);
binder.putLocal(“QueryText”,“dDocFullText <substring> <qsch>” + “our query” +”</qsch>”);

binder.putLocal(“SearchEngineName”, “databasefulltext”);
binder.putLocal(“ResultCount”, “10″);

ServiceResponse response = idcClient.sendRequest(userContext, binder);
DataBinder serverBinder = response.getResponseAsBinder();
binder = response.getResponseAsBinder();

DataResultSet resultSet =binder.getResultSet(“SearchResults”);
for (DataObject dataObject : resultSet.getRows()) 
{
  System.out.println(“Title is: ” + dataObject.get(“dDocTitle”));
  System.out.println(“Author is: ” + dataObject.get(“dDocAuthor”));
}


Restart the UCM server and try search again.

happy coding with Vinay in techartifact . 🙂