FormData Information updation with OIM APIs
Hey Guys,
I try to use the OIM APIs to update a custom field that is present on a formdata.
e.e: in the web base ui, you search for a user, go to resource profile, and then I have my OID provisioned resource, when I click on view, I have the a formdata that popups with fields taht I want to update.
I've done the following until now:
- search the user with the findUsersFiltered API to retreive the User.key
- search the object associated to the user by using getObjects with the User.Key retreived
This search return a list of objects AND I can identify my provisioned Object:
The informations that seems usefull are:
* Users-Object Instance For User.Key-value
* Object Instance.Key-value
* Objects.Key-value
* Process Definition.Process Form Key-value
I'm block there, I'm not sure the different options for:
- reading the form data field for this resource
- updating some form data for this resource
Any help would be great !
I've done it,
For information it was with using Process Definition.Process Form Key-value
Similar Messages
-
Create Access Policy with OIM API: can't fill child form
Hi!
I'm having a problem with creating OIM Access Policy with API. I'm doing the following:
1. Create a new access policy via AccessPolicyIntf
2. Add a resource object which will be provisioned to all users who are within policy scope
3. Get Resource Object (Parent) Form Definition via FormDefinitionIntf
4. Add data to parent form (AccessPolicyIntf setFormData(FormDefinitionKey))
5. Now I want to add data to the child form, for that purpose I need to know child form definition key, but I can' get one, because there's no method like 'getChildFormDefinitionKey' in FormDefinitionIntf interface.
Please, help me to get child form definition key, knowing parent form definition key and versionSee if this code helps:
public String addChildTableValue(long userKey, String group, String objectName, String fieldName tcDataProvider ioDatabase) {
log.debug("addChildTableValue() Parameter Variables passed are:" +
"userKey=[" + userKey + "]" +
"group=[" + group + "]" +
"fieldName=[" + fieldName + "]" +
"objectName=[" + objectName + "]");
try{
tcUserOperationsIntf userIntf = (tcUserOperationsIntf)tcUtilityFactory.getUtility(ioDatabase, "Thor.API.Operations.tcUserOperationsIntf");
tcFormInstanceOperationsIntf formIntf = (tcFormInstanceOperationsIntf)tcUtilityFactory.getUtility(ioDatabase, "Thor.API.Operations.tcFormInstanceOperationsIntf");
boolean roleExists = false;
//Result set of all Object for user
tcResultSet obResultSet = userIntf.getObjects(userKey);
if (obResultSet.isEmpty()){
log.error("User has no provisioned objects");
return "NO_OBJECTS_EXIST";
}else{
for (int ii=0; ii<obResultSet.getRowCount(); ii++){
obResultSet.goToRow(ii);
if ((obResultSet.getStringValue("Objects.Name").equals(objectName)) &&
(!(obResultSet.getStringValue("Objects.Object Status.Status").equals("Revoked")) &&
!(obResultSet.getStringValue("Objects.Object Status.Status").equals("Provisioning")))){
log.debug("Resource object found: " + objectName);
//Process Instance Key of the object
long plProcessInstanceKey = obResultSet.getLongValue("Process Instance.Key");
log.debug("Process instance key: " + plProcessInstanceKey);
//Process Key for the parent for
long plParentFormDefinitionKey = obResultSet.getLongValue("Process.Process Definition.Process Form Key");
log.debug("Parent form definition key: " + plParentFormDefinitionKey);
//Form version of the parent form
int pnParentFormVersion = formIntf.getProcessFormVersion(plProcessInstanceKey);
log.debug("Parent form version: " + pnParentFormVersion);
//Result set of Child Form information
tcResultSet childFormResultSet = formIntf.getChildFormDefinition(plParentFormDefinitionKey, pnParentFormVersion);
//Child form definition key
long plChildFormDefinitionKey = childFormResultSet.getLongValue("Structure Utility.Child Tables.Child Key");
String plChildTableName = childFormResultSet.getStringValue("Structure Utility.Table Name");
log.debug("Child form definition key: " + plChildFormDefinitionKey);
log.debug("Child table name: " + plChildTableName);
tcResultSet childFormData = formIntf.getProcessFormChildData(plChildFormDefinitionKey, plProcessInstanceKey);
if (!(childFormData.isEmpty())){
log.debug("Searching child table current values");
for (int iii=0; iii<childFormData.getRowCount();iii++){
childFormData.goToRow(iii);
String fieldValue = childFormData.getStringValue(fieldName);
log.debug("Child table entry: " + iii + " | value: " + fieldValue);
if (fieldValue.equals(group)){
roleExists = true;
log.debug("Value already exists in child table");
return "DUPLICATE_VALUE";
log.debug("Value not found in child table");
if (!roleExists){
Hashtable childFormHash = new Hashtable();
childFormHash.put(fieldName, group);
formIntf.addProcessFormChildData(plChildFormDefinitionKey, plProcessInstanceKey, childFormHash);
log.debug("Value successfully added to table");
return "VALUE_ADDED";
log.debug("Provisioned resource " + objectName + " object not found");
return "OBJECT_NOT_FOUND";
catch(Exception ex){
ex.printStackTrace();
return "ERROR"; -
Create approval request for Delete User operati with oim api -11g Release2
Hi,
How I can create an approval request for a User Delete operation usin API? Can anyone quide me? Any help is strongly appreciated..
BR,
AliyeYou can use the exact same technique for any of the other requests submissions through APIs that have been posted on this message forum. Just supply the template name for your request template you plan to use.
Here is a page of sample code for requests. http://java.net/projects/openptk/sources/svn/show/branches/Oracle/OIM11g/examples/java/OIMClient/src/oim/client/request?rev=1402
-Kevin -
Getting started with OIM API'S using ECLIPSE
Dear All,
i got this error messages :
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at com.thortech.util.logging.Logger.createAndRegisterLogger(Unknown Source)
at com.thortech.util.logging.Logger.getLogger(Unknown Source)
at com.thortech.xl.util.config.ConfigurationFormatter.<clinit>(Unknown Source)
somebody help me.
Thanks.In general Add all the jar files present in the xlclient lib folder into your classpath before using any of the Thor API's as these jars are needed.
In your case i guess the classpath is missing the log4j jar file required.
You are using com.thortech.util.logging.Logger which references to xlLogger.jar.
When you decompile this xlLogger.jar present in the lib folder you will be able to see the following import statements.
import com.thortech.util.logging.helpers.ConfigFileWatchDog;
import com.thortech.xl.util.logging.FilePrintStream;
import com.thortech.xl.util.logging.PropertyConfigurator;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.Serializable;
import java.util.Hashtable;
import org.apache.log4j.Category;
import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.Level;
import org.apache.log4j.PatternLayout;
So during runtime it is searching for the log4j jar which is not present in the classpath. usually it is present in the xlclient ext folder. Please ensure that you add this jar into your classpath. The problem will be solved. Let me know if you still face any issue.
Edited by: Durgaprasad on Dec 4, 2011 4:03 AM -
Hi,
Need help
I try to creates an instance of the utility factory. Using Eclipse IDE and added all jar from customclient.zip.
I am getting this exception:
java.security.AccessControlException: access denied (java.util.PropertyPermission XL.HomeDir write)
java code:
public void init() {
try {
System.out.println("Entered====");
System.setProperty("XL.HomeDir","D:\\OIMServer\\xellerate");
System.setProperty("java.security.policy","D:\\CustomClient\\config");
System.setProperty("java.security.auth.login.config", "D:\\CustomClient\\config\\authwl.conf");
System.setProperty("java.naming.provider.url", "t3://ps5014:7001");
ConfigurationClient.ComplexSetting configClient = ConfigurationClient
.getComplexSettingByPath("Discovery.CoreServer");
final Hashtable env = configClient.getAllSettings();
System.out.println("env=="+env);
tcUtilityFactory ioUtilityFactory = new tcUtilityFactory(env,
"xelsysadm", "abcd1234");
} catch (Exception e) {
e.printStackTrace();
}Copy config folder from D drive to under project folder inside Eclipse Workspace and then giv ethe new path.
-
Hello,
I am writing a java program to call the OIM APIs to reset a user's password and set up security questions.
First in my java program I need to make a connection to OIM URL. Example of my URL is: http://lenovo-d0446ff6.:7778/xlWebApp/
What API in OIM may I use to establish the connection or is there another way to connect to OIM via some java code.
ThanksI followed the OIM API Usage Guide and the Getting started with OIM API's using Eclipse.
When I ran FirstAPITest, I got the following error message:
Startup...
Getting configuration...
Login...
log4j:WARN No appenders could be found for logger (XELLERATE.ACCOUNTMANAGEMENT).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" java.lang.NoClassDefFoundError: javax/ejb/EJBHome
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at com.thortech.xl.ejb.interfaces.tcUnauthenticatedOperationsUtil.class$(Unknown Source)
at com.thortech.xl.ejb.interfaces.tcUnauthenticatedOperationsUtil.getHome(Unknown Source)
at Thor.API.Security.LoginHandler.oracleLoginHandler.handleOracleClientLogin(Unknown Source)
at Thor.API.Security.LoginHandler.oracleLoginHandler.login(Unknown Source)
at Thor.API.Security.ClientLoginUtility.login(Unknown Source)
at Thor.API.tcUtilityFactory.<init>(Unknown Source)
at FirstAPITest.main(FirstAPITest.java:16)
I tried to search the forum for javax/ejb/EJBHome without success. Did I miss another jar?
Thanks -
OIM APIs about Resource STATUS information
Is there any OIM API that provides developers with the information of resource status which is related to 'PROVISIONED', 'PROVISIONING', 'ENABLED', 'REVOKED'?
use below query for this
select usr.usr_login, usr.usr_status, obj.obj_name, ost.ost_status
from oiu, usr, ost, obj, usg, act
where oiu.usr_key=usr.usr_key
and oiu.ost_key=ost.ost_key
and ost.obj_key=obj.obj_key
and usr.act_key=act.act_key
and obj.obj_name in ('Resource Name')
--and ost.ost_status in ('Enabled','Provisioned') -
I connected my external hard drive to my new imac to put all of the information from my macbook onto it. I have been working on the macbook now and want to reconnect the external hard drive so my imac is updated with the work. How is that done? or is it possible?
As I said, I don't use Time Machine, so it'd be best to wait for an "expert" answer, but, with my very limited knowledge, I'd say: probably not - so, for now, I'd suggest you read up on Time Machine:
http://web.me.com/pondini/Time_Machine/Home.html
http://support.apple.com/kb/index?page=search&src=support_site.home.search&local e=en_US&q=time%20machine
And, you might be attracting more knowledgeable answers if you were to post this question in the Time Machine Forum (part of the Snow Leopard forums). -
OIM API portablity issue with OIM 9.1 / Weblogic 10.3
Hi , We have a existing piece of code which does some User Mutation through OIM API.
[I am not well versed with OIM ]
The code was running fine with Weblogic 8.3 and previous OIM version.
Here is the piece of code.
logger.info("Initializing OIM Params from config location:" oimConfigFileUtil.getOIMConfigBase());+*
+ System.setProperty("XL.HomeDir", oimConfigFileUtil.getOIMConfigBase().getAbsolutePath());+
+ System.setProperty("java.security.auth.login.config", oimConfigFileUtil.getOIMAuthWLFile().getAbsolutePath());+
+ ConfigurationClient.ComplexSetting configClient = ConfigurationClient.getComplexSettingByPath("Discovery.CoreServer");+
+ env = configClient.getAllSettings();+
*+ try {+*
+ oimAccessFactory = new tcUtilityFactory(env, oimConfigFileUtil.getUserID(), oimConfigFileUtil.getPassword());+
I traced all the dependecy's for this piece of code.
If I run this with Weblogic.jar[8.1] it gives me
java.io.InvalidClassException: com.thortech.xl.dataaccess.tcDataSet; local class incompatible: stream classdesc serialVersionUID = -5446056666465114187, local class serialVersionUID = -8857647322544023100*
With the compatablity issue I substituted with weblogic.jar:10.3 , now its giving me all classpath issues.
Can someone layout the exact jars that are required for this to work?
Thanks
VigneshInstalll a Design Console. Copy any files that are required. Then take the class paths that are listed in the classpath and basecp files and put those into your application classpath files.
-Kevin -
How to Integrate OIM API with the Application in NetBeans
Hi All,
I'm Facing problems to Integrate OIM API with the Application. I'm using Netbeans IDE. Can anyone please let me know the steps to do so?? any documents will also help me.
ThanksHey,
Helpful links for you:
1- http://www.youtube.com/watch?v=Yccl0HqfA3o
2- http://www.youtube.com/watch?v=ZdMTLRF7P_4
Let me know if it helps you. I hope so.
Thiago Leoncio Guimaraes -
SOAP API integration problem with OIM 11g R1
Hi,
We're facing a problem when we are attempting to provision for a third party Web Service application in OIM 11g R1.
During development and test running in an IDE environment, JDeveloper, the soap wsdl requests are triggered and a response is received successfully. However, when we shift the work and integrate it with OIM using design console, there seems to be an error indicating an invalid wsdl location. We have used the super class Exception, in try-catch block for handling of the exceptions. Please see the log message.
Xl Home Dir :/oracle/Middleware/Oracle_IDM1/server
Running CREATEUSERTASK
Target Class = org.identityconnectors.Provisioning.QuickShareUserProvisioning
URL : XXXXX
User ID : XXXX
Password : XXXX
ERROR: Invalid wsdl location robi/XXXX_saved_wsdl.wsdl
When we simply run the jar file from the command line, it gives us, java.lang.NoClassDefFoundError: javax/xml/rpc/Service
[oracle@idmlab JavaTasks]$ java -jar archive1.jar
URL : XXXXX
User ID : XXXX
Password : XXXX
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/rpc/Service
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.identityconnectors.Provisioning.QuickShareUserProvisioning.createUser(QuickShareUserProvisioning.java:41)
at org.identityconnectors.Provisioning.QuickShareUserProvisioning.main(QuickShareUserProvisioning.java:215)
Caused by: java.lang.ClassNotFoundException: javax.xml.rpc.Service
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 14 more
Any help or suggestion, appreciated!
Thanks
Tamim KhanHi Kevin,
Thanks a lot for the response. But, when i deployed the composite SAR in to the server from Jdeveloper, i checked the option to "Overwrite any existing composite with same revision ID". SO, i used the same revision ID (Say 1.0), will this also need to be disabled?
Thanks,
Srini -
How to create a Connection to UDB Database through OIM APIs.?
Hi,
In our OIM (9.1.0.2) implementation, there is a need to connect to a UDB database to execute some select queries and get the data. Is there any way in which I can do this?
I tried creating an ITResource to have all static database related information, but I was not able to use that ITResource and create an actual database connection in the java code.
As far as possible, I don't want to use any JDBC code to create the connection but want to know if there are any inbuilt OIM APIs which can help me in creating a database connection to point to the UDB database.
(We don't have the DBUM connector deployed.)
Please get back with your views/info on this.
Thanks,
Kulesh...Here is a constructor code for connecting to a database:
public DatabaseConnection(String hostname, String port, String driver, String sid, String admin, String password) throws ClassNotFoundException, SQLException{
log.info(CLASS_NAME + " -----> inputs=hostname[" + hostname +
"]port[" + port +
"]driver[" + driver +
"]sid[" + sid +
"]admin[" + admin +
"]password[********]");
Properties connectionProps=new Properties();
connectionProps.setProperty("user", admin);
connectionProps.setProperty("password", password);
String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=" + hostname +
")(PORT=" + port +
"))(CONNECT_DATA=(SID=" + sid + ")))";
Class.forName(driver);
con = null;
con = DriverManager.getConnection(url, connectionProps);
If you want to use SSL, you will want to configure tcps for jdbc connection to the database, or any other form of connection and update your URL string for it.
-Kevin -
Creating self registration request using OIM API
Hi guys,
When we try to create a self regisrtation request using OIM API , we ge the following exception:
We get this error when we set the following in Design console.
Does user have to provide challenge information during registration = FALSE
and passed an blank object in place of challenge question parameter in createSelfRegistrationRequest method in tcUtilityBaseClass.
19:22:17,218 ERROR [REQUESTS] Error: Failed to save REQ_CONSOLIDATED_DATA_VALUE
data for Create Entity.
java.lang.NullPointerException
at org.apache.xml.serializer.TreeWalker.dispatachChars(TreeWalker.java:2
44)
at org.apache.xml.serializer.TreeWalker.startNode(TreeWalker.java:414)
at org.apache.xml.serializer.TreeWalker.traverse(TreeWalker.java:143)
at org.apache.xalan.transformer.TransformerIdentityImpl.transform(Transf
ormerIdentityImpl.java:389)
at com.thortech.xl.dataobj.util.RequestDataConsolidator.convertNodeToXML
(Unknown Source)
at com.thortech.xl.dataobj.util.RequestDataConsolidator.addUser(Unknown
Source)
at com.thortech.xl.dataobj.tcDataBase.createRequestForCreateEntity(Unkno
wn Source)
at com.thortech.xl.dataobj.tcDataBase.createRegistrationRequest(Unknown
Source)
at com.thortech.xl.dataobj.tcDataBase.createRegistrationRequest(Unknown
Source)
at com.thortech.xl.ejb.beansimpl.tcUnauthenticatedOperationsBean.createR
egistrationRequest(Unknown Source)
at com.thortech.xl.ejb.beans.tcUnauthenticatedOperationsSession.createRe
gistrationRequest(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
tatelessSessionContainer.java:237)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
ke(CachedConnectionInterceptor.java:158)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
elessSessionInstanceInterceptor.java:169)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidation
Interceptor.java:63)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
rceptor.java:121)
How do we create a self registration request , using OIM API , with and without challenge questions?Well try this piece of code. This might be similar to yours but it worked perfectly for me. For you the error might be the attribute names which you are passing, it should be the one dfined in the FormMetaData xml as below.
import Thor.API.tcUtilityFactory;
// define you class below
ConfigurationClient.ComplexSetting config = ConfigurationClient.getComplexSettingByPath("Discovery.CoreServer");
final Hashtable env = config.getAllSettings();
Hashtable quesAns = new Hashtable();
HashMap user = new HashMap();
user.put("Users.User ID", "SelfTesting");
user.put("Users.First Name", "SelfTesting");
user.put("Users.Last Name", "SelfTesting");
user.put("Users.Email", "[email protected]");
user.put("Users.Password", "SelfTesting");
user.put("ConfirmPassword", "SelfTesting");
tcUtilityFactory.createRegistrationRequest(env, user, quesAns);
And for the query of challenge QnA, these are the following combinations possible:
1) Property Does user have to provide challenge information during registration set to TRUE
- During self-registration from web console, it will show you Challenge Questions section on the right. If you do not select any questions, it will thow you an error there itself.
- Doing it from API will create no difference(even if you pass a blank HashTable). The request will be created successfully and on completion when the user tries to login, it will ask for Security QnA.
2) Property Does user have to provide challenge information during registration set to FALSE
- During self-registration from web console, it doesn't show you Challenge Questions section on the right. The request will be created successfully and on completion when the user tries to login, it will ask for Security QnA.
- Doing it from API, you will have to pass a blank HashTable as in above code. The request will be created successfully and on completion when the user tries to login, it will ask for Security QnA.
Hope it works.
Thanks
Sunny -
Request Approval using OIM API
Hi all
Which API I need to use to approve a resouce request using OIM API?
I have tried with the following:
tcReqOp.setRequestResponse(85, 1 , "java.lang.String psResponse");
i do not know what to pass in place of java.lang.String psResponse.
I aslo tried passing "C","Completed"
can anyone correct what I am doing?
Thank u
sasI assume you want to run a scheduled task for this. Try this approach. Run this query to retrieve specific approval tasks that are in a pending state:
select oti.sch_key, mil.mil_name, to_char(oti.oti_update, 'dd-mon-yyyy hh24:mi:ss')
from oti, mil, obj, pkg, orc, sch
where oti.mil_key=mil.mil_key
and oti.pkg_key=pkg.pkg_key
and pkg.obj_key=obj.obj_key
and oti.orc_key=orc.orc_key
and oti.sch_key=sch.sch_key
and oti.sch_status='P'
and obj.obj_name='Test Object'
and pkg.pkg_type='Approval'
You can modify the obj.obj_name or remove, or do any changes you want. When you grab the time of the oti.oti_update, compare it against the sysdate to determine the time difference. If the update did not occur within that time, use this code:
provIntf = (tcProvisioningOperationsIntf)getUtilityOps("Thor.API.Operations.tcProvisioningOperationsIntf");
Hashtable taskHash = new Hashtable();
taskHash.put("Process Instance.Task Details.Data", "<Insert Response Value Here>");
provIntf.updateTask(key, taskHash) ; //---> Key is the same as the oti.sch_key field
I have not tried this, but give it a shot.
-Kevin -
The notifications aren't update using the API of universal work list
We use in the portal home a development iview that works with de API of Universal Work List. This iview shows the number of notifications and tasks. While the number of tasks are updated correctly, the number of notifications are not refreshed. The only way to update the number of notifications is going and refreshing the Universal Work List iView provided by SAP.
The API that we are using not support this case? Any suggestion?
We havent found information about this.
Our system version is 7.00 SP14
We attachment the call that weve used.
try {
notificaciones = tareas = 0;
IUWLService uwlService =
(IUWLService)PortalRuntime.getRuntimeResources().getService(
IUWLService.ALIAS_KEY);
UWLContext uwlContext = new UWLContext();
IUser user = componentRequest.getUser();
uwlContext.setUser(user);
uwlContext.setAllowBackEndConnections(true);
uwlService.beginSession(uwlContext, -1);
IUWLItemManager itemManager = uwlService.getItemManager(uwlContext);
QueryResult result =
itemManager.refreshCacheAndGetItems(uwlContext, null, null, null);
ItemCollection collection = result.getItems();
for (int i = 0; i < collection.size(); i++) {
Item item = collection.get(i);
if ((item.isUnRead() || item.isNew())
&& item.getItemType().startsWith("uwl.notification")) {
notificaciones++;
} else if (
(item.isUnRead() || item.isNew())
&& item.getItemType().startsWith("uwl.task")) {
tareas++;
uwlService.endSession(uwlContext);
} catch (UWLException e) {
e.printStackTrace();
RegardsThank you very much for your quick answer...
But I think that you don't understand me. We can read notifications number but not in real time because they are not updated until we go to the UWL and we force there an update. We want to show in real time the number of notifications that a user has.
Does anybody how to update/refresh this using the API?
Thanks for your suggestions
Maybe you are looking for
-
I have been getting this error in my Jdeveloper App. ORA-01000 : maximum open cursors exceeded. We have open cursors set at 220. I am using straight JDBC thin to call the database (8.1.5) and have been closing ResultSets the best I can. It happens af
-
Desktop manager problem with upgrade software
Hi There, When i connect to the desktop manager it says that my device should be updated with the new software but then it runs through the program then says that it does not need to. I have the Pearl 8120 and its running on version 4.5.0.174. is thi
-
Can anyone tell me the average delivery time for an iPhoto book. I'm doing one for a class project that is due in one week. If I submit it now, will I receive it in time? I've never done a book before, so I have no idea.
-
What are the components/steps that form part of a BI 7 upgrade? For example do you need to carry out a PI upgrade etc? Thanks
-
Hello Sir/Madam, I am trying to load a resource from Applet using the following code snippet via HTTPS protocol: url = new URL(..., ...); URLConnection con = url.openConnection(); DataInputStream bin = new DataInputStream(con.getInputStream()); int l